Думаю, я бы написал класс DialogBuilder, который возвращает JDialog.
РЕДАКТИРОВАТЬ:
Визуальное или програматическое создание диалогов
Я привык кгенерирование диалогов путем написания кода.до Java я использовал код в Delphi, в котором диалоги создавались с использованием графического интерфейса, поэтому изначально я находил это раздражающим и даже утомительным.Сейчас мне это нравится.Так что да, я бы, вероятно, выкинул (большую часть) код диалога, созданный netbeans.Если ваши диалоги не являются более сложными, чем предполагает ваш вопрос.
Сложность
Да, есть опасность, что вам придётся потратить много времени на создание довольно сложного кода.Однако, если вы похожи на меня, вы многому научитесь, делая это.Одна вещь, которую вы узнаете, - это как использовать различные шаблоны, чтобы избежать этой сложности.Нахождение элегантного способа решения этих проблем - это то, что я нахожу весьма удовлетворительным, - это один из аспектов программирования, который я считаю наиболее приятным.
Параметры
Когда вы упоминаете о своей озабоченности по поводу "if argA&& argB && !argC then display JCheckbox
и т.д. для 10-11 различных jdialogs "- я могу только предложить вам попытаться подойти к проблеме с другой стороны.Например, вы можете передать DialogBuilder список пар меток и JComboboxes.Или, может быть, вы можете расширить JCombobox, добавив в него дополнительное поле и геттер для метки.
например
DialogBuilder builder = new DialogFactory();
builder.add("Select X:", new Xcombo(...), true); // with checkbox
builder.add("Select Y:", new Ycombo(...), false); // without
...
builder.getDialog.setVisible(true);
или
builder.add("Select X:", new MyCombo(xList), false);
builder.add("Select Y:", new MyCombo(yList), false);
Вы можете увидеть (Я надеюсь), что методу DialogBuilder.add (String, JComboBox, boolean) не потребуются десятки сложных if ... then ... else
предложений.
Только мои $ 0,02.