Конвертировать JDialog в JPanel в Netbeans

Я потратил много времени на создание красивого диалога с использованием Netbeans (Matisse), и теперь я понимаю, что вместо этого я хочу использовать его как JPanel.

Есть ли способ конвертировать диалог в Panel в Netbeans. Взорванный графический редактор не позволяет мне изменять какой-либо код.

3 ответа

Просто откройте навигатор в режиме конструктора в jdialog, скопируйте компоненты и вставьте в виде jpanel. Как на картинке ниже.

введите описание изображения здесь

Как всегда @MadProgrammer рекомендует, если вы не добавляете напрямую в jdialog и вместо пользовательского контейнера (например, jpanel), то легко добавить другие компоненты:D

Вы можете обмануть Netbeans, чтобы преобразовать его со всем своим кодом:

Предполагая, что ваш класс диалога называется MyDialog:

  1. В редакторе пользовательского интерфейса Netbeans создайте новую пустую форму JPanel (например, MyDialogPanel) и сохраните ее.
  2. Выйдите из Netbeans, откройте свой любимый файловый браузер и перейдите в папку, в которой находятся ваши классы. Вы найдете MyDialog.java и MyDialog.from, а также MyDialogPanel.java и .form.
  3. Теперь откройте MyDialog.java и замените JDialog от JPanel в определении класса и сохраните как MyDialogPanel.java (перезаписав пустую панель, которую вы создали).
  4. Теперь откройте MyDialog.form, замените JDialogFormInfo от JPanelFormInfoи сохраните как MyDialogPanel.form (перезаписав пустую панель, которую вы создали).
  5. Откройте Netbeans и откройте MyDialogPanel. Редактор пользовательского интерфейса будет удивлен и, возможно, выдаст предупреждение. Выберите разрешение на редактирование и сохраните диалоговое окно. Теперь просмотрите свой код, вам, вероятно, нужно исправить несколько вещей (например, использование getContentPane() или dispose() или тому подобное, которых нет в JPanel. После этого, вуаля! Все, что есть, в вашей JPanel!

Ах. Догадаться. Просто нужно создать класс JPanel Netbeans. Затем я могу просто скопировать и вставить компоненты напротив JDialog, перейдя в представление навигатора.

Другие вопросы по тегам