Fenster minimieren bei [win]+[d] (bzw. Desktop anzeigen) drücken unterbinden!

c0CokAbAnA

Grünschnabel
Hallo!

Und zwar möchte ich es unterbinden das sich mein JWindow minimiert wenn man das Tasten kürzel [Win]+[d] anwendet bzw auf "Desktop anzeigen" klickt!

ich möchte es somit schaffen das wenn ich auf desktop anzeigen klicke alles minimiert wird AUßER() mein programm!

Hintergrund ist: ich will eine art desktop widget basteln (wie in der vista/win7 sidebar)!

Mit einem JFrame habe ich es schon FAST geschafft:
Code:
addWindowListener(new WindowAdapter(){
            public void windowIconified(WindowEvent e){
                setExtendedState(NORMAL);
            }
        });
so kann ich zumindest das minimieren verhindern....

ich benutzte aber mitlerweile ein JWindow daher dies nicht in der Taskleiste auftaucht! (nur in SysTray)

kann mir da jemand helfen?

mfg
 
Du hast ja nur JDialog, JWindow oder JFrame zur Verfügung. Davon führt, wenn alle drei keinen Rahmen haben, nur JFrame die windowIconified-Methode aus.
Also denke ich, du musst entweder ein JFrame mit in die Taskleiste nehmen, oder ein JDialog / JWindow mit Rahmen, dann kannst du das geschickter lösen.
Oder setAlwaysOnTop(true) aufrufen, dann hast du aber das Fenster über allem drüber.
Sonst habe ich leider keine Lösung finden können.

Zur Sidebar nochmal eine Frage: Machst du das durchsichtig?
 
wie meinst du das ein JWindow mit rahmen

ich habs auch schon versucht mit setAlwaysonTop(true) und direkt danach ein toBack().... aber es wird trotzdem minimiert =(


zur sidebar: ich mach keine sidebar sondern nur ein "widget" wo dann oben rechts im eck aufm desktop ist!
soll ein wetter widget werden! und daher ich hier in meiner arbeit keine programme oder so installieren kann muss ichs mir selber in java schreiben!
 
Ich denke, dass du "Destop anzeigen" nicht verhindern kannst.
Du könntest aber versuchen mit einen Thread in regelmäßigen Abständen zu überprüfen ob das Fenster Iconified ist und gegebenfalls darauf reagieren.
 
@c0CokAbAnA:
Ist der Thread für dich noch von Bedeutung?
Hast du inzwischen eine Lösung gefunden, oder orientierst du dich an den hier genannten Vorschlägen?
Inzwischen interessiere ich mich auch sehr für das Thema. :)

wie meinst du das ein JWindow mit rahmen
Wenn du eine Sidebar oder ein Desktop-Widget mit Swing oder AWT programmieren willst, möchtest du wahrscheinlich ein rahmenloses Fenster anzeigen. Wenn du den Rahmen deaktivierst, werden evtl. manche Listener inaktiv.
 
Zurück