Как открыть модальный диалог в апплете Java? - PullRequest
7 голосов
/ 18 октября 2010

Я пытаюсь отобразить модальное диалоговое окно перед Applet.

Мое текущее решение извлекает корневой фрейм следующим образом:

Frame getMyParent() {
    Container parent = getParent();
    while (!(parent instanceof Frame)) {
        parent = ((Component)parent).getParent();
    }
    return (Frame)parent;
}

И создает диалог следующим образом:

public OptionsDialog(MainApplet applet, boolean modal) {
    super(applet.getMyParent(), "options", modal);
    // ....

Однако часто это показывает модальное диалоговое окно ниже рамки, хотя модальное поведение работает правильно.

Как это можно исправить?

В идеале это должно быть для Java версии 1.5 и выше.

Ответы [ 3 ]

4 голосов
/ 18 октября 2010
JDialog dialog = new JDialog(SwingUtilities.windowForComponent(this));
dialog.setModal(true);
dialog.setSize(200, 200);
dialog.setVisible(true);
3 голосов
/ 10 ноября 2011

Frame f = (Frame) SwingUtilities.getAncestorOfClass (Frame.class, parentWindow);новый JDialog (f, true);

(source = http://kb.trisugar.com/node/7613) работает для parentWindow = sun.plugin2.main.client.PluginEmbeddedFrame

2 голосов
/ 18 октября 2010

Использование null insterad из applet.getMyParent()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...