可以像下面的代码示例一样设置操作吗?是否有任何可能由此引起的垃圾收集问题?如果不是,最好的方法是什么?
btnAwesomeButton=new JButton(new AbstractAction("Awesome Button") {
@Override
public void actionPerformed(ActionEvent arg0) {
//Do stuff here
//Refer to the components on parent windows through ParentWindowClass.this.componentName
}
});
最佳答案
这是一个很常见的习语。只要您不对 AbstractAction 子类实例的引用存储在 actionPerformed
返回后仍保留的地方(例如哈希表),就不存在垃圾收集问题。
关于Java Swing 匿名操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5490370/