2009-11-04 4 views
0

У меня есть окно JInternalFrame, которое должно вызывать модальное диалоговое окно при нажатии JButton. Во-первых, я попытался с помощью JDialog, но я обнаружил, что JDialog конструктор необходим:Java Swing: JInternalFrame: требуется всплывающее диалоговое окно

  1. JFrame
  2. булево модальный

Я попытался прохождения JInternalFrame к нему, но тип не совпадают.

Должен ли я использовать JDialog с JInternalFrame? Что делать, если я не укажу владельца (т. Е. Передав null)? Что-то не так с этим?

ответ

1
SwingUtilities.getAncestorOfClass(Window.class, myButton) 

Метод abvove вернет окно, содержащее вашу кнопку. После того как вы его, вы можете передать его в конструктор диалога :)

EDIT1: я неправильно понял вопрос, который я предполагаю. Как у вас есть JinternalFrame как самое верхнее окно?

EDIT2: Кроме того, если вы передаете нуль в JDialog constrcutor то по умолчанию он использует общий владелец SwingUtilities.getSharedOwnerFrame т.е.()

+0

нормально, я собираюсь попробовать его сейчас. В качестве побочного элемента это также означает, что вполне нормально использовать JDialog с правильной настройкой JInternalFrame? – sivabudh

+0

Извините, я не понимаю. У меня есть JFrame как мое самое верхнее окно, которое содержит кучу JInternalFrames. Однако кнопка принадлежит JInternalFrame. – sivabudh

+0

Хорошо .. Я только что попробовал; Я думаю, что все нормально. (Я еще не подключил кнопку JDialog к любому actionPerformed, но я могу, по крайней мере, открыть диалоговое окно, когда я нажимаю кнопку JInternalFrame!) Спасибо! – sivabudh

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