Java Swing 匿名操作

标签 java swing

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

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/

相关文章:

java - 读取大文本文档并在读取时填充 JProgressBar

java - 从非托管bean访问DAO服务方法

java - 使用链表的堆栈回文不会返回正确答案

java - 如何在 Eclipse 中为可变对象生成 getter 和 setter?

java - 在 Azure 应用服务中访问 Tomcat 和 Webapp 日志

java - 将附加文件添加到 Netbeans 应用程序的基于 Inno 的设置中

java - Maven 配置问题一个或多个约束尚未满足

java - 如何通过 ActionListener 类的 actionPerformed() 方法在 Frame 上绘制对象

java - 使用 ThreadPoolExecutor 取消 SwingWorker

java - 为什么日期选择器会意外触发 JComboBox 的 actionPerformed?