【发布时间】:2015-09-29 17:17:44
【问题描述】:
我在 SO 上找到了这个答案,对此感到困惑。
我们有一个关于有人想知道如何在 ActionListener 中处理 JDialog 的问题。
try this way:
exit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exitActionPerformed(evt);
}
});
and then
private void exitActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
这是回答者发布的代码(here's问题链接)
这是我在自己的代码中所做的:
buttonCancel.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
但我真的很担心上面的答案。我是在做错什么,还是这样做不会改变任何事情?如果没有影响,你知道这个人为什么用中间方法回答吗?
谢谢
【问题讨论】:
-
没有区别,他只是调用一个单独的方法来处理对话框,没有别的。
-
第一个变体通常是构建器工具生成代码的方式。它使插入较大的代码片段变得更容易,最好将其放置在外部类中。没有语义上的区别,如果你委托给一个现有的方法,比如
dispose(),你可以忽略这个间接。如果exitActionPerformed不是private,那会有所不同...
标签: java swing actionlistener dispose jdialog