【发布时间】:2013-03-11 16:32:28
【问题描述】:
我有一个 JFrame,其中一个按钮必须将它自己作为父框架传递,我会使用 this 关键字,但它返回的是 actionlistener,而不是 JFrame。有解决方法还是我写得不好?
代码:
start.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
kMeans=new KMeans(mainWindow.table, Integer.parseInt(centroids.getText()),this);
}
});
【问题讨论】:
-
包含该代码的类名是什么?
-
否则你可以做
JFrame that = this然后通过that而不是this。 -
@11684: 那必须是
final JFrame that = this;虽然这很有效,但它会使您的范围变得混乱,而且只需执行ClassName.this就更简单了 -
忘记尝试了,谢谢,解决了所有问题;)
-
@WChargin 当然你是对的,但我记得我曾经无法让
ClassName.this工作(可能是因为我搞砸了),所以我只是想为 OP 提供一个替代方案。
标签: java this actionlistener