2016-06-06 3 views
0

Итак, я успешно создал модальный JDialog, и я использовал NetBeans GUI Builder для создания панелей для ускорения дизайна. Однако модальный JDialog не показывает панели, которые он имеет, поэтому пуст. Я не знаю, что делать дальше, и я не вижу причин, почему он не появится, если основной контейнер действительно показывает.Модальный JDialog показывает пустую рамку. Содержащиеся панели не отображаются

JDialog, как ожидается, выйти через 2 щелчков мыши на JTable

enter image description here

Что приходит это.

enter image description here

вместо этого (Update Curriculum GUI), ниже.

enter image description here

private void curriculumListJtblMouseClicked(java.awt.event.MouseEvent evt) {             
     int clickCount = evt.getClickCount(); 
     if (clickCount == 2) { 
      UpdateCurriculumGui updateCurriculum = new UpdateCurriculumGui(); 
      updateCurriculum.setPreferredSize(new Dimension(1000, 650)); 
      updateCurriculum.setVisible(true); 
      updateCurriculum.pack(); 
      updateCurriculum.setLocationRelativeTo(null); 
     } 
    } 

UpdateCurriculumGui на его собственном классе.

public class UpdateCurriculumGui extends javax.swing.JDialog { 



    public UpdateCurriculumGui() { 
     super(null, ModalityType.MODELESS); 
     setAlwaysOnTop(true); 
     setTitle("Update Curriculum Information"); 
    } 
} 

Надеюсь, вы можете мне помочь, потому что я раньше не пытался использовать JDialogs. Буду признателен за любые предложения.

Спасибо.

ответ

1

Вы должны заполнить свой диалог контентом!

public class UpdateCurriculumGui extends javax.swing.JDialog { 

    public UpdateCurriculumGui() { 
     super(null, ModalityType.APPLICATION_MODAL); 
     //setAlwaysOnTop(true); set modal instead 
     setTitle("Update Curriculum Information"); 
     add(new JLabel("i'm content!")); //this is content!  
    } 
} 

см Dialog.ModalityType подробности о MODELESS (она не должна быть APPLICATION_MODAL?)

+0

Большое спасибо. И извините, потому что я только понял, как мало проблема. Я случайно удалил initComponents(), который создает созданные мной панели. Это произошло, когда я создал новый конструктор. Мне просто пришлось снова вызвать initComponents(), и это исправлено. Сейчас я вижу панели внутри JDialog. – p3ace

+0

Я очень рад, что у других людей такие же проблемы, как у меня есть =) удачи для вашего проекта! –

+0

Да, спасибо. Иногда, когда вы так сосредоточены на сложных вещах, вы пропускаете самое легкое. Я ценю это. – p3ace