I would create an array in each JPanel with all the data components you want to save, then implement a saveRecord() method in each JPanel, that gets called from a saveRecord() method in your JTabbedPane, that gets called from a top-level saveRecord() method.
You would also need to write a loadRecord() method to reconstitute the data. You can probably get by with using object serialization. I think you might want to de-couple the UI from the data, so that what you are saving is just the data from your UI widgets, and not, say, and entire JTextField object.
I would first start with a simple
test of saving one field on a panel, and trying to load it back in on start-up, just so you can understand the basic concept. Then you can branch out and create a "save tree" for all your nested objects.
Good Luck!
Rob