我有一个扩展 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/