JWindow Fensterhirachie beibringen

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo

was muss ich machen damit sich ein JWindow an die Fensterhirachie anpasst, z.B. das zuletzt geöffnete immer ganz oben, noch besser wäre wenn es immer das unterste ist also immer auf dem Desktop direkt liegt und nichts überdecken kann.

Ist das einfach zu ermöglichen oder hab ich damit nur ärger?

Vielleicht hilft es ja wenn ich mal mein Problem erkläre. Ich hab mir einen Terminplaner geschrieben und jetzt möchte ich den minimiert auf dem Desktop darstellen, er darf dabei nicht in der Fensterliste(Taskkleiste bei Windows) auftauchen und soll auch keine Fenster überdecken.
Dafür wollte ich dann ein JWindow nehmen aber das erfüllt nicht ganz die anforderungen weil es andere Fenster überdeckt.

ich hab schon

Code:
setAlwaysOnTop(false)
und
Code:
toBack

probiert aber das hilft nix.

Kann es sein das man da einen speziellen Listener braucht oder ach ich weiß auch nicht mehr... :(

MfG
Patrick
 

The_S

Top Contributor
Dein Window soll NIE im Vordergrund sein? Also nie vor irgendeiner Anwendung (nicht nur nicht vor einem anderen Fenster deiner Anwendung)?
 
G

Gast

Gast
Genau es soll ja nur eine minimierte Form sein der Terminplaner steckt in einem JFrame und den kann man sich dann ja jederzeit wieder holen aber die mini Form soll absolut in den Hintergrund drehten und nicht stören, sonst könnte man das Hauptprogramm auch direkt minimieren und in der Taskleiste lassen.
 

The_S

Top Contributor
Sind und zweck Verstehe ich zwar nicht, aber toBack setzt das JWindow schonmal in den Hintergrund, da nicht in der Taskleiste kann es auch nur über die ALT+TAB Tastenkombi wieder in den Vordergrund gebracht werden (bzw. wenn es unter einem anderen Fenster hervorguckt). Diese Situation kannst du dann mit dem WindowListener überprüfen und ggf. nochmal ein toBack aufrufen.
 
G

Gast

Gast
Also es hat nicht geklappt und das mit Alt+Tab funktioniert übrigens nur bei JFrame und solchen Geschichten ich hab aber ein JWindow.
Aber trotzdem danke.
 

The_S

Top Contributor
Wahnsinns Rückmeldung ... "Es hat nicht geklappt ..."

tjoa, wenns einfach so ohne Grund nicht klappt, dann kann ich dir leider auch net helfen :roll:
 
G

Gast

Gast
Tja ich hab gemacht was du geschrieben hast aber der gewünschte Effekt ist aus geblieben und ich bin wieder im Ausgangszustand, also kannst du mir wohl wirklich nicht helfen. Also sowas aber auch! Höfflichkeit kann man im anonymen Netz wohl auch nicht mehr erwarten.
 
M

Mr. Anderson

Gast
Hallo,

fast das gleiche Problem habe ich auch. Ich verwende das SDK 1.6 von Sun mit KDE unter Linux und ich kann JWindow kein vernünftiges Verhalten beibringen.

Die Angabe

Code:
setAlwaysOnTop (false)

wird, so weit ich das sehe, schlicht und ergreifend ignoriert. Das Einzige, was ich gefunden habe, um überhaupt irgendetwas vor das JWindow zu bekommen ist

Code:
toBack ()

Doch leider verschwindet das JWindow dann nur hinter der Leiste von Kicker. Alle anderen Fenster, egal ob JFrame oder ein anderes Programm, bleiben hinter JWindow.

Ich möchte ein Fenster ohne Dekoration, das den ganzen Bildschirm einnimmt. Man soll es aber z. B. mit Alt+Tab in den Hintergrund schicken können und das Programm soll auch kleinere Fenster vor diesem großen Fenster anzeigen können (evtl. auch mit Fensterdekoration oder zumindest mit einem Rahmen)

Ob das mit Vollbildmodus realisiert wird oder nicht, ist mir egal. Bisher ist das Problem immer gleich, egal ob Vollbild oder nicht.
 
M

Mr. Anderson

Gast
Hat sich erledigt. Hab ein JFrame genommen. Hatte nicht mehr dran gedacht, dass man da die Fensterdekorationen ja entfernen kann. ^^
 

The_S

Top Contributor
Mr. Anderson hat gesagt.:
Die Angabe

Code:
setAlwaysOnTop (false)

wird, so weit ich das sehe, schlicht und ergreifend ignoriert. Das Einzige, was ich gefunden habe, um überhaupt irgendetwas vor das JWindow zu bekommen ist

Ich weiß gar nicht, was hier alle an der Methode missverstehen ... Wer API lesen kann, oder sich einfach mal ein paar Gedanken darüber macht, wird die Methode verstehen können.

set Always On Top = setze Immer in Vordergrund = Fenster bleibt immer im Vordergrund. true bewirkt dann natürlich, dass das Fenster immer im Vordergrund ist, dazu muss es aber nicht zwingend den Fokus haben.

false bedeutet dann natürlich, dass es NICHT IMMER im Vordergrund ist, also im Vordergrund, Hintergrund oder zwischen zwei Fenstern sein kann. Eben das normale Verhalten eines Fensters!

Auch durch logisches Denken, könnte man darauf kommen, dass die Methode nicht bewirken soll, dass das Fenster immer im Hintergrund ist, da man hier nur zwei Zustände definieren kann. Der Primäre ist, wie man leicht aus dem Methodennamen rauslesen kann, das Fenster immer im Vordergrund zu halten. Würde jetzt false bewirken, dass es immer im Hintergrund bleibt, so würde es für ein JFrame ja unmöglich sein sich normal zu verhalten, da es sich ja entweder immer im Vordergrund, oder eben im Hintergrund, aber nie zwischen zwei Fenstern befinden könnte.
 
M

Mr. Anderson

Gast
Hobbit_Im_Blutrausch hat gesagt.:
Mr. Anderson hat gesagt.:
Die Angabe

Code:
setAlwaysOnTop (false)

wird, so weit ich das sehe, schlicht und ergreifend ignoriert. Das Einzige, was ich gefunden habe, um überhaupt irgendetwas vor das JWindow zu bekommen ist

Ich weiß gar nicht, was hier alle an der Methode missverstehen ... Wer API lesen kann, oder sich einfach mal ein paar Gedanken darüber macht, wird die Methode verstehen können.

Wie bin ich wohl zu der Methode gekommen? Richtig, ich habe die Dokumentation der API gelesen.

set Always On Top = setze Immer in Vordergrund = Fenster bleibt immer im Vordergrund. true bewirkt dann natürlich, dass das Fenster immer im Vordergrund ist, dazu muss es aber nicht zwingend den Fokus haben.
Um den Fokus geht es auch nicht.

false bedeutet dann natürlich, dass es NICHT IMMER im Vordergrund ist, also im Vordergrund, Hintergrund oder zwischen zwei Fenstern sein kann. Eben das normale Verhalten eines Fensters!
Und genau das funktioniert eben nicht. JWindow weigert sich vehement, andere Fenster zu respektieren. Ganz gleich, ob man Alt+Tab drückt oder im Code toBack () stehen hat, oder was auch immer - das JWindow bleibt im Vordergrund. Einzig und allein der Kicker kommt bei toBack () nach vorne. Drückt man nur Alt+Tab bleibt aber auch der verborgen.

Auch durch logisches Denken, könnte man darauf kommen, dass die Methode nicht bewirken soll, dass das Fenster immer im Hintergrund ist, da man hier nur zwei Zustände definieren kann. Der Primäre ist, wie man leicht aus dem Methodennamen rauslesen kann, das Fenster immer im Vordergrund zu halten. Würde jetzt false bewirken, dass es immer im Hintergrund bleibt, so würde es für ein JFrame ja unmöglich sein sich normal zu verhalten, da es sich ja entweder immer im Vordergrund, oder eben im Hintergrund, aber nie zwischen zwei Fenstern befinden könnte.

Genau das will ich doch auch. Ein Fenster, das sich ganz normal verhält. So steht es auch in der Dokumentation. Aber es funktioniert halt nicht.

Ist aber sowieso egal, da JFrame das Problem bereits gelöst hat.
 

The_S

Top Contributor
Sorry, dann hab ich dich wohl missverstanden, da der Threadersteller davon ausgegangen ist und du meintest, dass du ein ähnliches Problem hast.

Ich kann dein Prob mit dem JWindow leider nicht nachvollziehen, da ich hier weder eine KDE Umgebung, noch die JRE 6 habe. Aber mit JRE 5 und Win XP geht das hier ohne Probleme

Code:
import javax.swing.*;
public class Test {

    public Test() {
    }
    
	public static void main(String[] args) {
		
		JWindow window = new JWindow();
		window.setSize(400, 400);
		window.setVisible(true);
	}    
}
 
G

Guest

Gast
Hm. Ja. Vielleicht hätte ich besser einen neuen Thread erstellt. Sorry.

Nunja, werde bei Gelegenheit einen Bugreport schreiben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Messoras JWindow/Frame durch das man durchklicken kann AWT, Swing, JavaFX & SWT 5
V JWindow: Falsche Anzeige auf Ubuntu AWT, Swing, JavaFX & SWT 2
windl Overlay mit Transparentem JWindow und Canvas AWT, Swing, JavaFX & SWT 2
J JWindow und keylistener AWT, Swing, JavaFX & SWT 1
H Swing JTextField in JWindow, JWindow bekommt focus zurück? AWT, Swing, JavaFX & SWT 9
R KeyListener in JWindow AWT, Swing, JavaFX & SWT 7
M Swing Semi-Transparenter Button (normal, mouseover) auf transparentem JWindow AWT, Swing, JavaFX & SWT 44
M Animiertes Gif auf JWindow AWT, Swing, JavaFX & SWT 10
GUI-Programmer Swing JWindow - Programm wird ohne Grund beendet AWT, Swing, JavaFX & SWT 3
GUI-Programmer JWindow zwischen den Desktopbild und Dektopverknüpfungen AWT, Swing, JavaFX & SWT 16
N JOptionPane als JWindow AWT, Swing, JavaFX & SWT 2
J Swing JWindow flackert trotz Doppelpufferung AWT, Swing, JavaFX & SWT 2
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
E JWindow bewegen, minimieren, vergrößern und schließen AWT, Swing, JavaFX & SWT 5
H Swing JWindow flackert beim resizen AWT, Swing, JavaFX & SWT 6
M JWindow schließen wenn Frame sich ändert AWT, Swing, JavaFX & SWT 2
D JWindow rund machen AWT, Swing, JavaFX & SWT 11
hdi JWindow's mouseExited methode AWT, Swing, JavaFX & SWT 2
P JFrame/JWindow in der Mitte des Bildschirms positionieren AWT, Swing, JavaFX & SWT 4
R JWindow dockt nicht an JFrame bzw. nicht sichtbar ? AWT, Swing, JavaFX & SWT 6
M JWindow mit Rahmen(border) ausstatten AWT, Swing, JavaFX & SWT 4
C JWindow.setVisible(true) dauert ewig AWT, Swing, JavaFX & SWT 7
G JFrame/JWindow AWT, Swing, JavaFX & SWT 2
H JWindow schließen bei einem Klick außerhalb der Anwendung? AWT, Swing, JavaFX & SWT 19
R JWindow und JFrame AWT, Swing, JavaFX & SWT 3
S Bild auf JWindow platzieren AWT, Swing, JavaFX & SWT 4
L Probleme mit JTextField im JWindow AWT, Swing, JavaFX & SWT 4
F JWindow mit einem Bild und Transparenz AWT, Swing, JavaFX & SWT 4
L JWindow schliessen AWT, Swing, JavaFX & SWT 4
M jwindow --> jpanel --> jpanel --> textfeld nicht en AWT, Swing, JavaFX & SWT 3
D JWindow => transparent ? AWT, Swing, JavaFX & SWT 2
S JWindow zeichent Bild nicht AWT, Swing, JavaFX & SWT 2
K JWindow zerstören AWT, Swing, JavaFX & SWT 3
B KeyEvents und JWindow AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen


Oben