How do I integrate GUI elements from different classes at runtime?

Posted by thefourthdoctor on Stack Overflow See other posts from Stack Overflow or by thefourthdoctor
Published on 2010-03-21T15:40:29Z Indexed on 2010/03/21 15:41 UTC
Read the original article Hit count: 276

Filed under:
|
|

I'm trying to "future-proof" an application that I'm writing by splitting out those elements that are likely to change over time. In my application I need to be able to adapt to changes in the output format (e.g. today I output to a CSV file, in the future I may need to output directly to a SQL Server database, or to a web service, etc.).

I'm handling this by defining an abstract class ("OutputProvider") that I will subclass for each individual case. The one aspect of this that has me stumped is how to provide a configuration GUI that is specific to each concrete class. I have a settings dialog with a tab for output configuration. On that tab I intend to provide a drop-down to select the provider and a JPanel beneath it to hold the contents of the provider-specific GUI. How do I get the right GUI in that panel at runtime and have it behave correctly with respect to events?

Also, a bonus would be if there was a way to do this such that in order to add support for new providers I could simply provide a new jar or class file to be dropped in a specific folder and the application could pick that up at startup.

I'm using NetBeans and Swing.

© Stack Overflow or respective owner

Related posts about java

Related posts about gui