I have a MainWindow class that extends JFrame and is the only frame in my application. I have several JPanels to change its content though. I would like to pass the MainWindow around so I won’t have to make a global copy of it.
Here is the problem. I have a fake JMenuBar in MainWindow that I use to go around and look for screens. In their JMenuItem listeners, I cannot pass MainWindow as this to the JPanels.
Is there a way I can do that, like maybe marking the class final or do I have to create a new MainWindow each time I have to pass in one. It doesn’t carry around any data so its not crucial and the performance isn’t a major concern for a small final project like this but I want to know if there is a better way?
Are you unable to pass
thisbecause it would reference the listener? If so, you should be able to useMainWindow.this.Or create a reference to
thisoutside the listener and pass that as the parameter.