Wie öffnet ein modal-dialog im Java-applet?
Ich versuche, die Anzeige eines modalen Dialoges vor einem Applet
.
Meine aktuelle Lösung holt sich die root-frame wie folgt:
Frame getMyParent() {
Container parent = getParent();
while (!(parent instanceof Frame)) {
parent = ((Component)parent).getParent();
}
return (Frame)parent;
}
Und schafft den dialog wie folgt:
public OptionsDialog(MainApplet applet, boolean modal) {
super(applet.getMyParent(), "options", modal);
//....
Jedoch oft dies zeigt den modalen dialog unten den Rahmen, obwohl das modale Verhalten korrekt funktioniert.
Wie kann dies behoben werden?
Idealerweise sollte dies für die Java-Versionen 1.5 und höher.
Du musst angemeldet sein, um einen Kommentar abzugeben.
java.lang.ClassCastException: sun.plugin2.main.client.PluginEmbeddedFrame cannot be cast to javax.swing.JFrame
Frame f =(Frame)SwingUtilities.getAncestorOfClass(Frame.class,parentWindow);
new JDialog(f,true);
(Quelle = http://kb.trisugar.com/node/7613)
Werke für parentWindow = Sonne.plugin2.main.client.PluginEmbeddedFrame
Verwenden null insterad von
applet.getMyParent()
SwingUtilities.getSharedOwnerFrame()
- werde ich testen, danke!