actionPerformed具有空逻辑

时间:2016-10-10 15:22:30

标签: java swing actionlistener

我有一个有列表的屏幕。通过右键单击,我可以打开一个小弹出窗口并通过选择一些记录并从弹出窗口中单击确定按钮将新记录添加到该列表中。

弹出的确定按钮有一个动作监听器,如下所示:

okButton.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
        setVisible(false);
    }
});

这就是actionPerformed方法的全部内容,我不明白这种方法是如何在主窗口的列表中添加新记录的。应该有另一部分代码连接到这部分,但我不知道那是什么。你知道我在那个逻辑上没有看到什么吗?

1 个答案:

答案 0 :(得分:2)

ActionListener不为空,实际上它正在改变保存JButton的窗口的状态,使其不再可见。

没有人能100%放心地说这里使用了什么逻辑,因为你还没有显示足够的代码,但我们的猜测是这个按钮是在模态 JDialog中保存的 - 一旦对话框窗口可见,冻结调用代码中的代码流的窗口,以及(此处为关键字)一旦此对话框不再可见,在代码流上释放块。因此,在这种情况下,使对话框不再可见将允许调用代码(最初告诉对话框显示自己的代码)恢复其逻辑流。据推测,在后续代码中,它将在对话框中查询输入的数据,然后将其提取出来,其详细信息仍在代码中,但尚未显示给我们。