ActionListener没有做任何事情

时间:2014-03-25 19:53:50

标签: java swing actionlistener string-comparison

我是Java的新手,所以请耐心等待。 我试图通过按钮打开一个名为AboutFrame的新框架,但每当我按下按钮时都没有任何反应。

我首先实现ActionListener:

class MainFrame extends JFrame implements ActionListener {

然后我设置按钮(在通常的超级之后(" blabla"); ...)

JButton info = new JButton("About Failsafe");
    info.addActionListener(this);

然后:

public void actionPerformed(ActionEvent event) {
String command = event.getSource().toString();
    if (command == "info") {
        AboutFrame abt = new AboutFrame();
    }
}

那我在这里做错了什么?我看不出任何错误..

2 个答案:

答案 0 :(得分:2)

您没有正确获取命令文本:

JButton button = (JButton) event.getSource();
String command = button.getText();

if (command.equals("About Failsafe"))
{
  AboutFrame abt = new AboutFrame();
  abt.setVisible(true);
}

或者,如果您的JButton info;声明是实例变量(而不是本地变量),您可以进行if检查:

if (event.getSource() == info)

答案 1 :(得分:0)

尝试:

if (event.getSource()==info) {}

而不是if (command=="info") {}