游戏开发- Java返回键按下



我正在Java中创建一个游戏,我有一个主菜单上的按钮,我需要以某种方式返回按下的按钮,以便我可以在不同的类中使用它。我不知道该怎么做。有人知道吗?

我在actionPerformed方法中使用e.getSource()获取按钮。我试着返回按钮,但不工作。

非常感谢。

下面是一些代码:

菜单类
public void actionPerformed(ActionEvent e) {
    Object button = e.getSource();
    return button
}

其他类

public static void createGameScreen() {
    if(Menu.button == Menu.button1) {
         // do something here
    }
}

您不会返回哪个按钮被按下,而是将代码分配给该操作(或者至少这是我如何解释你的问题)。对于那个按钮,像这样分配一个监听器。我喜欢这样做。也许有更好的办法。

button.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
        buttonBoardActionPerformed(e);
    }
});


public void buttonActionPerformed(ActionEvent e) {
    // Do some stuff
}

基本上你将按钮直接链接到动作,而不是为整个事情分配一个单独的监听器。更容易调试IMO。也请阅读本教程。

我想你应该是这样写的:

buttonProcess = new JButton("Process");
buttonProcess.set//bounds,actionlistener,etc.
if (e.getSource().equals(buttonProcess)){
 //do some stuff
 return buttonProcess;
}

你可以尝试在UI的类中使用在辅助类中定义的静态变量。

例句:

public class AuxClass{
 public static Object PROCESS_BUTTON; //YOu can replace Object by Component or JButton
}
//then in your first UI code
 if (e.getSource().equals(buttonProcess)){
     AuxClass.PROCESS_BUTTON = buttonProcess;
    }
//then in your other UI:
if (AuxClass.PROCESS_BUTTON !null && AuxClass.PROCESS_BUTTON instanceof JButton){
 //Do what you want here
}

相关内容

  • 没有找到相关文章