java - 如何将 "this"传递到 Action 监听器中

标签 java swing actionlistener

我有一个扩展 JFrame 的 MainWindow 类,并且是我的应用程序中唯一的框架。不过,我有几个 JPanel 可以更改其内容。我想传递 MainWindow,这样我就不必制作它的全局副本。

问题就在这里。我在 MainWindow 中有一个假的 JMenuBar,我用它来四处寻找屏幕。在他们的 JMenuItem 监听器中,我无法将 MainWindow 作为此传递给 JPanel。

有没有一种方法可以做到这一点,比如将类标记为final,或者每次我必须传递一个时都必须创建一个新的MainWindow。它不携带任何数据,因此它并不重要,对于像这样的小型最终项目来说,性能也不是主要问题,但我想知道是否有更好的方法?

最佳答案

您是否无法传递 this 因为它会引用监听器?如果是这样,您应该能够使用 MainWindow.this

或者在监听器外部创建对 this 的引用并将其作为参数传递。

关于java - 如何将 "this"传递到 Action 监听器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10707144/

相关文章:

multithreading - Java线程安全v从单独的线程显示对话框

java - 平面设计 Java Swing 外观和感觉

java - 同一类型的 Swing 事件是否有保证优先级?

java - 如何为 Java Web 应用程序配置路由

java - 对数组列表进行排序?树集不起作用。还有其他选择吗?

java - DelimitedLineTokenizer 制表符

java - 按钮大小不变

java - 绘制变暗的缓冲图像而不触摸它

java - 影响 JTable 单元格值在文本文件上的更改

java - 是否可以在 GUI 中选择添加 ActionListener?