Preferred method for passing toolbar events to JFrame
I'm very new to Swing/AWT, but professional Java developer of over a decade. I am developing a simple Swing application, this is my first. I have looked at many of the examples for each component, but they all have one thing in common: They're simple and usually comprised of a single method that builds the entire UI. I understand that this is the point when trying to explain how to use a single component: Simplicity. Having said that, here's my problem:
I'm subclassing my Swing objects, so I have an Application class that extends JFrame. This object creates a subclassed toolbar, let's just call it MyToolBar, which extends JToolBar. This toolbar allows the use to input data in one of two ways, using a ButtonGroup, event handling, and setEnabled() logic on two text fields. This management of enabling/disabling of controls is the reason I like subclassing JToolBar rather than creating it in my application and add()ing to it. So, the toolbar also has a submit button. The submit button needs to communicate with the application so that it can manipulate other panels in the Application (JFrame) contentpane.
So here's the question: What is the preferred method for communicating between a JToolBar-derived class (or any class that does not take an event listener, but it's children generate events of interest to a parent container) and the container when a child control (such as a button) generates an event? Numerous solutions come to mind, but they involve stuff that I'd rather not do such as making the application available via static get() and calling a function, etc.
I'm sure this isn't a new question, but I can't seem to find a post that talks about this, nor can I find a complex enough example. Were I to write my application the way the examples are written, however, I'd be left with an unmaintainable mess. Maybe subclassing is the wrong idea, I don't know. Like I said, this is all new to me but I appreciate input and pointers.