Wie werde ich aktiv (mit Fokus) Frame (JInternalFrame), die in JDesktopPane ist? Ich brauche es für meinen MDI-Notizblock (nicht dass irgendjemand das verwenden würde, nur ein Trainingsprojekt). Wenn ich auf api schaue, sehe ich nur Funktionen, um alle JInternalFrames zu erhalten, nicht aktiv.
Haben Sie sich das Java-Lernprogramm mit dem Titel Interne Frames verwenden angesehen? In Ihrem Code benötigen Sie eine %code% ( API ) ( Tutorial ) und hören Sie, um Ereignisse zu aktivieren / deaktivieren. Aktiviert bedeutet, dass der interne Rahmen nach oben gebracht wurde. Deaktiviert bedeutet, dass es nicht mehr an der Spitze ist. Da %code% erweitert %code% ist, können Sie auch die z-Reihenfolge der hinzugefügten Komponenten festlegen.
Wiederholen Sie nicht alle Fenster - verwenden Sie Ereignisse.
Wenn Sie aus irgendeinem Grund Ihre Benutzeroberfläche lieber abfragen als eine ereignisgesteuerte Methode verwenden möchten, können Sie %code% aufrufen, was die aktive %code% zurückgibt. Ich bin mir nicht sicher, warum niemand es erwähnt hat.
Machen Sie eine %code% und überprüfen Sie %code% , während Sie es iterieren.
Nachtrag: Siehe auch dieses Beispiel , das %code% zur Auswahl verwendet ein interner Rahmen aus einem Menü.
Verwenden Sie die Methode JDekstopPane.getSelectedFrame () ( Von doc: momentan aktiver JInternalFrame in diesem JDesktopPane, oder null, wenn momentan kein JInternalFrame aktiv ist. ) oder %code% , um eine Liste aller aktuell im Desktop angezeigten %code% zu erhalten und %code% -Methode zu überprüfen.