ich versuche gerade ein zweites Fenster in meiner Anwendung mit ein zu bauen. Leider scheitert es aktuell am wechsel zwischen den beiden Fenstern. Das erste ist hierbei quasi eine Login View, was auch bisher sehr gut Funktioniert. Das zweite soll dann das Hauptfenster werden. Aktuell versuche ich den wechsel wie folgt:
MainWindow ist hierbei mein zweites Fenster. Dieser erwartet als Ctor Argumente das Login-Token sowie eine Referenz auf das Login Fenster um dies im Timeout Fall wieder hervor holen zu können.
Leider ist es aktuell so, dass mein Applet Fenster leer bleibt an statt zu wechseln. Es klappt also nur das ausblenden des aktuellen Fensters. Muss ich bei Applets dort noch irgendwas beachten?
Hast du jetzt ein Applet oder eine Desktop Applikation?
Applets sollten eigentlich keine Frames öffnen. Höchstens Dialoge und selbst die sollte man nur auf Basis von JOptionPane einsetzen.
Wenn es sich um ein Applet handelt, kann es sein, das der SecurityManager vom Browser das ganze blockt, bin mir nicht sicher inwieweit das nur "per Konvention" oder "per Code" verboten ist. Ich würde es so umsetzen die Login-Abfrage in einem PopupDialog (JOptionPane) zu machen und den Rest im Applet selbst.
Da die Applikation selbst aus mehreren Teilen besteht welche alle unterschiedliche Fenster beinhalten, benötige ich leider das wechseln zwischen diesen oder benötige eine Lösung welche es mir ermöglicht den Inhalt meines Fensters komplett zu Wechseln. Quasi eine alternative zum FrameWindow + Pages in WPF.
Wenn es sich um ein Applet handelt, kann es sein, das der SecurityManager vom Browser das ganze blockt, bin mir nicht sicher inwieweit das nur "per Konvention" oder "per Code" verboten ist.
Nur, wenn ein Applet unsigniert ist und Sachen gemacht werden, die gegen die Sandbox arbeiten. (Anwendung beenden, Verbindung zu einem anderen Server, Bilder über die Dateiebene laden etc.)
Du lässt immer noch die Frage offen ob es sich um ein BrowserApplet oder eine reine Desktop Application handelt, mit dem zweiten Post hast du mich vollends verwirrt.
[EDIT]OK, wusste ich nicht. Abber es ist afaik trotzdem nicht üblich in einem Applet (egal ob signed oder nicht) Frames zu öffnen.[/EDIT]
Du erzeugst dein zweites Fenster gleich mit und setzt es mit setVisible(false) auf nicht sichtbar. Weiterhin kannst du es noch disablen (setDisable(true)). Du könntest auch ein neues Objekt bei positiver Logineingabe machen. An dieser Stelle bietet sich gut das Observerpattern an.
Es handelt sich um ein Browser Applet. Im zweiten Post habe ich nur ein Bezug zu einer Funktionierenden alternative einer anderen Umgebung genannt. Die FrameWindows's zusammen mit Pages wäre theoretisch genau das was ich brauchen würde nur das diese aus WPF stammen (Verhaltenstechnisch brauchen würde). Folglich suche ich nun nach einer Möglichkeit entweder die Fenster durch neue immer ersetzen zu können oder aber ein Frame-Window zu haben welches die einzelnen Seiten durch wechseln kann.
@KranzKrone: Ich habe keine Main-Methode in XDEV, kA ob es die überhaupt in Java gibt. Außerdem sollte es Java doch egal sein wo ich mein Objekt erzeuge und wann ich die Visibility ändert. Zumal es mehr als dirty wäre alles in Fields, Propertys oder anderes auslagern zu müssen um es irgendwann evtl. mal anzeigen zu können.