Я пытаюсь «написать на будущее» приложение, которое я пишу, выделяя те элементы, которые могут со временем измениться. В моем приложении мне нужно иметь возможность адаптироваться к изменениям в формате вывода (например, сегодня я выводлю в файл CSV, в будущем мне может потребоваться вывод непосредственно в базу данных SQL Server или в веб-службу и т. Д.) .
Я обрабатываю это, определяя абстрактный класс («OutputProvider»), который я буду подклассом для каждого отдельного случая. Один аспект этого, который меня озадачил, - это как предоставить графический интерфейс конфигурации, специфичный для каждого конкретного класса. У меня есть диалог настроек с вкладкой для настройки вывода. На этой вкладке я собираюсь предоставить раскрывающийся список для выбора провайдера и JPanel под ним для хранения содержимого графического интерфейса конкретного провайдера. Как получить правильный графический интерфейс в этой панели во время выполнения и правильно ли он вести себя в отношении событий?
Кроме того, бонус был бы, если бы был способ сделать это таким образом, чтобы для добавления поддержки новых провайдеров я мог просто предоставить новый файл jar или class, который будет добавлен в определенную папку, и приложение может выбрать при запуске.
Я использую NetBeans и Swing.