Fenster in den Vordergrund aber nicht im Focus

Status
Nicht offen für weitere Antworten.
F

Fietzel

Gast
Hallo,

ich versuche einen JDialog in den Vordergrund setzen ohne ihn dabei zu fokussieren, um Statusinformationen permanent anzuzeigen, ähnlich wie beim Taskmanager oder WinAmp. Über
Code:
implements WindowFocusListener
und der dazugehörigen Methode

Code:
public void windowLostFocus(WindowEvent arg0) {
		// TODO Auto-generated method stub
		System.out.println("Lost focus");
		this.toFront();
		
	}

kann ich zwar feststellen, wann das Fenster den Focus verliert, aber mit
Code:
this.toFront();
wird es leider nur innerhalb des Java-Programms in den Vordergrund gebracht, bei jedem anderen Windowsprogramm landet es trotzdem im Hintergrund.

Wie kann man das realisieren?
 

The_S

Top Contributor
Hab das ma so gemacht, dass ich nen Thread mitlaufen lassen hab, der das Fenster alle z. B. 50 Millisekunden nach vorne bringt. Hat wunderbar funktioniert und Ressourcenfressend ist das auch net.
 

Ilja

Bekanntes Mitglied
listener ist da schon besser ;)

wenn du dein dialog erzeugst, versuche bitte:
new JDialog(MyFrame, true);
 
F

Fietzel

Gast
Puh, - jetzt muss ich mich als Anfänger outen

Erklärt mir mal wie das genau geht:


Möglichkeit 1:

Wenn ich

Code:
NewJDialog ConfigDialog = new NewJDialog(frame,true);

eingebe, sagt er, dass ein entsprechender Konstruktor nicht definiert ist - zurecht. Also wie muss ich den Konstruktor definieren?


Möglichkeit 2:

Das mit dem Thread erscheint mir ganz clever. Aber wie erstelle ich solch einen Überwachungsthread?
 

Oni

Top Contributor
versuchs mal so *g*:

Code:
JDialog configDialog = new JDialog(frame,true);
 
G

Guest

Gast
Ahhh, jetzt hab ich auch geschnallt wozu das
Code:
true
im Konstruktor gut sein soll.
Ihr wollt das ich einen Modalen-Dialog habe. Ich habs jetzt mit
Code:
this.setModal(true);
ausprobiert. Klappt aber auch nicht. Ich kann einmal ein anderes Fenster anklicken und mein Dialog bleibt im Vordergrund. Beim zweiten Klick auf das Fenster landet mein Dialog wieder im Hintergrund. Er lässt sich also wirklich sehhhhhhhhhhhhr leicht austricksen.

Wie löse ich das Problem mit nem Thread? Wie baue ich nen Thread der meinen Dialog überwacht und ihn periodisch in den Vordergrund stellt?

Das hier ist meine Klasse:

Code:
public class NewJDialog extends javax.swing.JDialog implements WindowFocusListener,ActionListener{

und das der Konstruktor dazu:

Code:
public NewJDialog(JFrame frame, String[] lclServer, String[] lclSystems, String[] lclSystemID, String[] lclSysServer,int lclTimer, String[] lclactive) {

(..ein bischen lang - ich weiß)
 
F

Fietzel

Gast
Erstmal danke für den Tipp, er nützt mir leider immer noch nicht viel, da wir hier noch in der Steinzeit leben und kein Java 1.5 installiert haben. - Ich könnte es mir sicherlich schnell installieren, nur müsste ich es dann auf allen anderen Mühlen auf denen mein Programm laufen soll auch tun. - Bzw. die die mein Programm nutzen müssen es auch tun. - Werden die aber nicht machen. (zu dumm..)

Hobbit im Blutrausch, erklär mir bitte wie ich das Ganze mit Hilfe des Überwachungsthreads löse.
 

The_S

Top Contributor
Code:
void starteDiesenThreadGleichZuBeginn()  { // Diesen Thread gleich zu beginn starten ;)
    new Thread(new Runnable() {
        public void run() {
            while(true) {
                frame.toFront();
                try {
                    Thread.sleep(100); // der Abstand in dem immer das Fenster in den Vordergrund gebracht wird
                }
                catch (InterruptedException e) {
                    System.out.println("Thread interrupted");    
                    e.printStackTrace();
                }
            }
        }
    }).start();
}

So in etwa.
 
F

Fietzel

Gast
Es funktioniert leider immernoch nicht richtig. Der Thread arbeitet zwar wunderbar, nur der
Code:
frame.toFront()
Befehl funktioniert scheinbar nicht korrekt. Mein Fenster bleibt jetzt genau 2x nicht nur im Vordergrund sondern auch im Fokus und beim dritten Klick auf ein anderes Fenster ist eben das geklickte Fenster im Vordergrund und im Fokus. Bei den 2 Klicks bei denen mein Fenster im Fokus bleibt, kann ich eben auch keine Eingaben in andere Fenster machen - die sind ja auch nicht fokusiert.

Hintergrund der ganzen Sache ist Folgender: Ich möchte ein Überwachungstool schreiben das periodisch einen Ping auf verschiedenste Rechner durchführt, um festzustellen ob diese noch verfügbar sind. Ob der angepingte Rechner noch vorhanden ist, soll in einem kleinem Fenster angezeigt werden. Dazu soll das Fenster also immer sichtbar sein, mich bei meiner weiteren Arbeit aber nicht behindern. Und eben diese FensterInDenVordergrundUndWeiterarbeitenGeschichte versuche ich gerade zu realisieren.

Ich hab JAVA j2re1.4.2_08 installiert und entwickle in Eclipse 3.1(oder so) und mit Jigloo. Man kann dabei leider nicht vernünftig debuggen, weil dabei ja das Eclipse den Fokus erhält.

Wenn irgendjemand Alternativen zur toFront() Methode hat oder andere gute Ideen dazu hat, möge er sie posten.
 

Illuvatar

Top Contributor
Ich hab nicht alles gelesen, aber wie wäre es wenn du das Programm (Java5) einfach als alwaysOnTop (true) setzt?
 

The_S

Top Contributor
Illuvatar hat gesagt.:
Ich hab nicht alles gelesen, aber wie wäre es wenn du das Programm (Java5) einfach als alwaysOnTop (true) setzt?

Um mal im Namen von Fietzel zu Antworten :wink: , er verwendet kein Java 5 und alwaysOnTop lässt sich austricksen.
 

Illuvatar

Top Contributor
Hmtja ok selber schuld :bae:

Wie lässt sich austricksen? Also andere alwaysOnTop Fenster können da natürlich auch drüber sein, sonst wäre denen ihr alwaysOnTop ja sinnlos ;) aber austricksen?
 

The_S

Top Contributor
Müsstest du eigentlich am Besten wissen, hast ja dieses lustige Prog des ma net beenden kann Online gestellt. Und da hat ein setAlwaysOnTop ja auch net gereicht ;).
 

Illuvatar

Top Contributor
Naja er will ja auch wohl kaum dass mans net vom Bildschirm wegkriegt, wenn man das ausdrücklich will :bae: aber ich glaube das hat grad net mehr vel mitm Thema zu tun... back@topic, bitte ;) (ich hab natürlich net gespammt. ein moderator spammt net :bae: )
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Swing 2 Fenster (1 im Vordergrund) AWT, Swing, JavaFX & SWT 6
G JavaFX Sub-Fenster im Vordergrund halten AWT, Swing, JavaFX & SWT 5
I Fenster immer im Vordergrund AWT, Swing, JavaFX & SWT 14
J Fenster in den Vordergrund holen AWT, Swing, JavaFX & SWT 3
G Fenster immer im Vordergrund und aktiv? AWT, Swing, JavaFX & SWT 2
S Frame Fenster immer im vordergrund AWT, Swing, JavaFX & SWT 3
B Fenster in den Vordergrund holen AWT, Swing, JavaFX & SWT 4
L Falsches Fenster erscheint im Vordergrund bei Taskwechsel AWT, Swing, JavaFX & SWT 3
TRunKX JAva Fenster in den Vordergrund bringen AWT, Swing, JavaFX & SWT 7
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
D JavaFX (WebStart) Graues Fenster beim Start AWT, Swing, JavaFX & SWT 4
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
wolfgang63 JavaFX Animation, Kreise im vorgegebem Takt durchs Fenster laufen lassen AWT, Swing, JavaFX & SWT 3
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
T JavaFX ControlsFX-Notification öffnet nicht wenn kein JavaFX-Fenster offen. AWT, Swing, JavaFX & SWT 1
E JavaFX JavaFX Fenster nicht schließen AWT, Swing, JavaFX & SWT 4
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
thet1983 offne Fenster gemeinsam schließen AWT, Swing, JavaFX & SWT 8
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
Z JSlider im Modalen-Fenster AWT, Swing, JavaFX & SWT 0
Tort-E JavaFX Fenster nachladen AWT, Swing, JavaFX & SWT 1
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
I Zwei Fenster nebeneinander anzeigen AWT, Swing, JavaFX & SWT 2
U Fenster beim Vergörßern immer quadratsich AWT, Swing, JavaFX & SWT 7
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
E Alles in einem Fenster AWT, Swing, JavaFX & SWT 5
A Fenster erstellen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben