需要帮助在java中创建正确的操作侦听器吗

需要帮助在java中创建正确的操作侦听器吗,java,Java,好的,所以每个文本字段都是动作侦听器。我做了很多测试,发现添加操作侦听器不是问题所在。问题出在下面的代码中,因为对于前四个文本字段,会显示hello窗口,但不会显示ok。但是在底部,ok窗口和hello窗口会弹出。我做错了什么 public class handler implements ActionListener { public void actionPerformed(ActionEvent event) { if (event.getSource()

好的,所以每个文本字段都是动作侦听器。我做了很多测试,发现添加操作侦听器不是问题所在。问题出在下面的代码中,因为对于前四个文本字段,会显示hello窗口,但不会显示ok。但是在底部,ok窗口和hello窗口会弹出。我做错了什么

public class handler implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
        if (event.getSource() == text)
        {
            JOptionPane.showMessageDialog(null, "ok");
        }
        else if (event.getSource() == text1)
        {
            JOptionPane.showMessageDialog(null, "ok");
        }
        else if (event.getSource() == text2)
        {
            JOptionPane.showMessageDialog(null, "ok");
        }
        else if (event.getSource() == text3)
        {
            JOptionPane.showMessageDialog(null, "ok");
        }
        else if (event.getSource() == text4)
        {
            JOptionPane.showMessageDialog(null, "ok");
        }
        JOptionPane.showMessageDialog(null, "hello");
    }
}

你遇到的问题是你在做一个肤浅的比较:

event.getSource() == textX
因此,您永远不会满足if-else中的任何条件,也永远不会看到text1的“ok”对话框。。。文本4

看起来您正试图对多个文本字段使用单个ActionListener,然后根据事件源(事件发生的文本字段)区分行为

<>而不是这样做,您可能想考虑为每个文本字段创建一个AccistListInter实现。
我通常将ActionListener创建为匿名类,以便在事件发生时自定义特定字段的操作,但我不必在应用程序中大量增加类

尝试使用
.equals(…)
而不是
=
,还有,预期的行为是什么?非常感谢!我已经在这上面呆了一段时间了。