JFrame "always on top"....wie geht das?

Tatsache...

dann musst du eben einen Listener registrieren der überprüft ob der JFrame verdeckt ist und falls das der Fall ist den entsprechenden JFrame wieder nach vorne schiebt....

Gruß Tom
 
wieso musst du den dann ein zwei JFrames benutzen!?

nimm doch für das onTop Fenster eine JDialog, denn kannst du dann mit set Modal(True), bzw. direkt bei aufruf des Construktors, in den Vordergrund setzen....

OK: ein nachteil hat das ganze, du kannst in dieser Zeit nicht auf das JFrame zugreifen, das den JDialog aufgerufen hat...
 
@hankenberge

Öhm, wenn Du die JDialog-Klasse erweiterst und eine Referenz auf den JFrame mitgibst, dann hast du dieses Problem, von wegen nicht auf den JFrame zugreifen, auch gelöst.

Also stellt das nicht wirklich ein problem dar.

Bsp.:

public class myDialog extends JDialog {
private JFrame parentframe;

public myDialog(JFrame frame, String Dialogname) {
super(Dialogname);
this.parentframe=frame;
//und was du sonst noch so brauchst
}

public void communicateWithParentFrame(<parameterdiemanbraucht>) {

//hier dann die parentframe aufrufe

}

}


Ich denke das dürfte reichen.

Grüsse
Torsten.
 
Zuletzt bearbeitet:
klar, das weiss ich auch.. aber wenn du den Dialog auf modal == true setzt, dann kann du an dem Startframe keine Bedienhandlung vornehmen. Du kannst zwar funktionen von dem Aufrufen, einen Button betätigen geht meines Wissens nicht, du kannst auch nicht eine Scollbar bedienen, also alles was mit der oberfläche zu tun hat ist nicht möglich

wenn ich da falsch liege, lass ich mich gerne berichtigen....
 
Okay, wenn du diese Funktionalitäten(sprich direkte Userinteraktionen mit dem JFrame) meinst, dann stimme ich dir zu, dass geht dann nicht mehr. Allerdings will der "absoluter Beginner" ihn ja auch immer on-Top haben und muss sich dann mit solchen Nebeneffekten begnügen, bzw. selbst eine Art bring-to-Front, bring-to-back funktionalität einfliessen lassen, welche genau über meinen Vorschlag realisiert werden kann (sprich über die funktionalität über die gegebene JFrame Referenz einen setModal aufruf von dem Dialog aus zu machen, bzw. umgekehrt.)

Ist deshalb aber nicht tragisch, wie gesagt einfach wie in meinem vorherigen Beitrag beschrieben vorgehen und die beiden klassen (JFrame und JDialog) ableiten und um die gewünschte Funktionalität erweitern!

Nur so als anregung.

Wie gesagt, da hab ich wohl etwas missverstanden, da du nur geschrieben hast, das man auf den JFrame nicht mehr draufzugreifen kann, das implizierte ich mit der Richtung funktional über die klassen und nicht über das User-Interacting.

Grüsse

Torsten.
 
Zurück