是否可以像下面的代码示例中那样设置动作?是否可能由此引起任何垃圾回收问题?如果不是,那么最好的方法是什么?

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返回之后该引用将继续存在。

07-26 06:05