I am a beginner and not so familar with Java yet, so the solution to this might be simple.
I have one MainClass that includes the main method. This MainClass creates a JFrame which can have various JPanels inside. I have one class called CommandInput which creates a JPanel containing a JTextArea. Now I want that when the user closes the JFrame of the MainClass that it asks if he wants to save the changes. As the JPanels inside the JFrame vary I do not really want to include this in the MainClass. I know that it is possible for every "SubClass" like the CommandInput to add a windowListener to the JFrame of the MainClass but that does not really seems efficient to me:
public class CommandInput {
    public CommandInput(JFrame mainFrame) {
        mainFrame.addWindowListener(new java.awt.event.WindowAdapter() {
            @Override //Overwrites the normal behavior of this method
            public void windowClosing(java.awt.event.WindowEvent windowEvent) {
                System.out.println("Closing Event triggered and detected by CommandInput object");
            }
        });
    }
}
Should I maybe rather have one WindowAdapter in the MainClass and add this code to its windowClosing method? And if so how would I do that?
 
    