【发布时间】:2013-09-14 04:08:46
【问题描述】:
我目前正在尝试开发简单的游戏,但是在制作游戏菜单时遇到了一些麻烦。我为游戏菜单中的每个状态(例如指令或选项)使用 JPanel,并在父 JFrame 中有方法根据用户在菜单上单击的项目来随机播放它们。
我的代码是这样的(没有像 setSize() 或 setVisible() 这样的简单方法)。
public class Game extends JFrame{
private JPanel mainPanel = new MainPanel();
private JPanel helpPanel; = new HelpPanel();
private JPanel optionPanel = new OptionPanel();
private JPanel currentPanel = new JPanel();
public Game(){
add(currentPanel);
}
public void changePanel(int destination){
remove(currentPanel);
if(destination==MAIN_PANEL)
currentPanel = mainPanel;
else if(destination==HELP_PANEL)
currentPanel = helpPanel;
else if(destination==OPTION_PANEL)
currentPanel = optionPanel;
add(currentPanel);
}
除了我尝试在 mouselistener 中使用 changePanel 方法外,一切都正常工作,它没有任何响应。然后我尝试了一些像这样的简单方法。
....
public void mouseClicked(MouseEvent e) {
removeAll();
JOptionPane.showConfirmDialog(null, "Pop when click anywhere.");
}
....
我希望我的 JFrame 会被清除并弹出对话框。该对话框确实会弹出,但对于 JFrame。我的问题是如何使用 mouselistener 中的那些简单方法。
对不起我糟糕的英语。我现在正在学习 Java 和英语。
【问题讨论】:
标签: java swing jframe mouselistener