Конвертировать JDialog в JPanel в Netbeans
Я потратил много времени на создание красивого диалога с использованием Netbeans (Matisse), и теперь я понимаю, что вместо этого я хочу использовать его как JPanel.
Есть ли способ конвертировать диалог в Panel в Netbeans. Взорванный графический редактор не позволяет мне изменять какой-либо код.
3 ответа
Просто откройте навигатор в режиме конструктора в jdialog, скопируйте компоненты и вставьте в виде jpanel. Как на картинке ниже.
Как всегда @MadProgrammer рекомендует, если вы не добавляете напрямую в jdialog и вместо пользовательского контейнера (например, jpanel), то легко добавить другие компоненты:D
Вы можете обмануть Netbeans, чтобы преобразовать его со всем своим кодом:
Предполагая, что ваш класс диалога называется MyDialog:
- В редакторе пользовательского интерфейса Netbeans создайте новую пустую форму JPanel (например, MyDialogPanel) и сохраните ее.
- Выйдите из Netbeans, откройте свой любимый файловый браузер и перейдите в папку, в которой находятся ваши классы. Вы найдете MyDialog.java и MyDialog.from, а также MyDialogPanel.java и .form.
- Теперь откройте MyDialog.java и замените
JDialog
отJPanel
в определении класса и сохраните как MyDialogPanel.java (перезаписав пустую панель, которую вы создали). - Теперь откройте MyDialog.form, замените
JDialogFormInfo
отJPanelFormInfo
и сохраните как MyDialogPanel.form (перезаписав пустую панель, которую вы создали). - Откройте Netbeans и откройте MyDialogPanel. Редактор пользовательского интерфейса будет удивлен и, возможно, выдаст предупреждение. Выберите разрешение на редактирование и сохраните диалоговое окно. Теперь просмотрите свой код, вам, вероятно, нужно исправить несколько вещей (например, использование getContentPane() или dispose() или тому подобное, которых нет в JPanel. После этого, вуаля! Все, что есть, в вашей JPanel!
Ах. Догадаться. Просто нужно создать класс JPanel Netbeans. Затем я могу просто скопировать и вставить компоненты напротив JDialog, перейдя в представление навигатора.