2015-01-13 2 views
0

У меня возникла странная проблема при разработке приложения для Java-приложений с использованием Netbeans IDE.Как связать поле JDialog и его соответствующий JFrame (где был запущен ящик JDialog)

Сценарий выглядит следующим образом: Существует JFrame. У этого есть кнопка, которая запустит ящик JDialog. Как только JDialog запускается, JFrame будет отключен для редактирования. Теперь у меня на экране появился JFrame и JDialog. Просто нажмите Windows + D, чтобы перейти на рабочий стол прямо, а затем щелкните значок приложения Java на панели задач. Вы можете увидеть, что JFrame будет отображаться сейчас. Вы даже не сможете редактировать его, потому что я отключил его при открытии окна JDialog. На данный момент, похоже, мое приложение повесилось и перестало работать. Только после нажатия кнопки Alt + Tab вы сможете выяснить, что всплывающее окно уже открыто, соответствующее этому экрану.

Теперь мой вопрос: есть ли способ вставить эти два экрана (JFrame + JDialog), чтобы даже после нажатия Windows + D, а затем щелкнув значок на панели задач, оба экрана должны открываться одновременно.

Надеюсь, что я ясно объясняю свои сомнения.

ответ

0

Передайте JFrame конструктору JDialog, чтобы установить его как своего родителя.

JFrame frame = new JFrame(); 
//.... 
JDialog dialog = new JDialog(frame); 

Редактировать: в комментарии, который вы упомянули, Netbeans создает подкласс JDialog. Добавить аргумент с типом рамы к классу простирающейся JDialog, например, так:

class MyDialog extends JDialog 
{ 

    public MyDialog(Frame frame) 
    { 
     super(frame); 
    } 
} 

Где вы обычно делают экземпляр MyDialog в кадре, вы могли теперь сделать следующее:

MyDialog dialog = new MyDialog(this); 
//.... 
dialog.setVisible(true); 
+0

С Я использую Netbeans IDE, для каждого экрана он создает отдельный класс с расширением класса типа экрана. В моем случае он создал два класса, которые расширяются (JFrame & JDialog). Как я могу достичь этого, как вы предложили здесь? – Codiyapa

+0

@Codiyapa Я обновил свое сообщение на примере. –

Смежные вопросы