JFrame unbewegbar machen

Hallo,

ist es möglich JFrame unbewegbar zu machen? So das ich das mit der Maus nicht mehr verschieben kann. Und was ich noch fragen wollte, ob man “Fenster Minimieren” deaktivieren kann?

Danke

Geht beides nicht gut. Du kannst nur einen Listener hinzufügen, der dir sagt, wenn was geändert wurde, und dann alles zurückmachen.

Aber bedenke auch: So etwas entspricht nicht dem, was der User erwartet - und kann nervig sein.

Nimm einen JDialog und du hast was du willst. Allerdings fehlen die Fenster Decorationen. Fenster kann man Per code zwingen sich zu minimieren, nutzt du aber einen JWindow hast du das problem das du es nicht in der Taskleiste sehen wirst, was bedeutet du musst dem JWindow ein Dummy JFrame als Parent zuweisen …

Fenster ohne Deco sieht man in meinem Mp3 Player …

Meine 2 Pfennig,
Mac

Danke ich schaue mir das an was ihr beide mir vorgeschlagen habt. Ich habe gehoft, dass JFrame eine Methode hat, mit der ich das machen könnte, sieht aber nicht so aus. Ich werde das wahrscheinlich auch nicht in mein Programm reinbauen, aber testen würde ich es gerne :smiley: Ich versuche das dann erstmal selber hinzukriegen, wenn nicht, dann habe ich ja euch :D.

Habe gerade mal meinen Beitrag nochmals gelesen, es soll natürlich ein JWindow anstatt eines JDialog sein. Dieser hat wie du feststellen wirst aber keine Fenster Dekorationen.

Oder aber eine bessere Lösung ist (wieso fällt mir das eigentlich jetzt erst ein ?).
Du nimmst einen JFrame und sagst JFrame#setUndecorated(true); … du musst das aber vor dem eigendlichen sichtbar schalten des Fenster machen (setVisible(true)).

f.setUndecorated(true);
...
f.setVisible(true);```

Vorteil ist auch das du dir den kram mit der Taskleiste sparen kannst. 

That's it,
Mac

Super! Danke. Genau so wollte ich das :smiley: