Hi, George, good to see you getting settled in here.
We could probably talk at length about program design. It's common to divide Swing applications up into Model, View and Controller parts - MVC.
In short, your View (the Swing panels) gets data from the Model (all your complex data). When the user clicks or enters something, the View sends the event to the Controller, which interprets the event into something meaningful, such as open or close a window, or pass new data or some option into the model for calculation or storage. Then the Controller tells the View there is new data available and the View gets it from the Model and we start over.
While it sounds like a lot more work at first to build three classes or sets of classes to get something done, the separation of concerns pays of nicely in the long run. You can often develop the Model and all of the data and computations and business rules without the View. When that's working, it's a simple matter to hook up the View and Controller.
If all that sounds interesting, scroll down to the Objects, UML, etc forum and ask about Swing & MVC. (Be sure to say "Swing" because for many in the world today MVC is a web design
pattern that has little to do with your situation.)