# JFrame "X" schaltfläche ausblenden



## sockeqwe (9. Apr 2007)

Hi,
gibt es eine möglichkeit, die normale "X" Schalfläche um ein JFrame zu Schließen irgendwie weck zu blenden oder gar nicht anzuzeigen? Also im Prinzip soll nur mehr das Icon sein und das Minimieren Symbol.

Weil ich will ein Programm machen, das über Netzwerk zu einen Server-Programm (Sockets) verbunden ist und "Tschüss" sagt, bevor das Programm beendet wird. Also ich einen Beenden - Button mache der das vor System.exit(0) macht.

Ja ich weis man könnte mit setdefaultcloseoperator(JFrame.DoNothingOnClose) einstellen, aber ich möchte das das ganze einfach weck ist.

Geht das Irgendwie?


----------



## JPKI (9. Apr 2007)

sockeqwe hat gesagt.:
			
		

> aber ich möchte das das ganze einfach *weck* ist.


Hunger! :###  :gaen: Benutz JDialog, da kann man diese Schaltfläche ausblenden!


----------



## Wildcard (9. Apr 2007)

sockeqwe hat gesagt.:
			
		

> Hi,
> gibt es eine möglichkeit, die normale "X" Schalfläche um ein JFrame zu Schließen irgendwie weck zu blenden oder gar nicht anzuzeigen? Also im Prinzip soll nur mehr das Icon sein und das Minimieren Symbol.


Das geht nicht. Mit setUndecorated(true) bekommst du alle Buttons weg, aber einzeln kannst du sie nicht entfernen.


----------



## sockeqwe (9. Apr 2007)

Wie geht das mit JDialog?

welcher Mehtode muss man da aufrufen?


----------



## Wildcard (9. Apr 2007)

sockeqwe hat gesagt.:
			
		

> Wie geht das mit JDialog?
> welcher Mehtode muss man da aufrufen?


Genau wie beim JFrame:
Alles deaktivieren oder gar nichts.


----------



## sockeqwe (9. Apr 2007)

achso... eigentlich wollte ich minimieren schon beibhalten ... aber wenn es nur alle zu entfernen geht werd ich es wohl mit dem defaultcloseoperator machen ...


Danke!


----------



## Wildcard (9. Apr 2007)

sockeqwe hat gesagt.:
			
		

> achso... eigentlich wollte ich minimieren schon beibhalten ... aber wenn es nur alle zu entfernen geht werd ich es wohl mit dem defaultcloseoperator machen ...


Ist besser so.
Bei einem undecorated JFrame musst du selbst die Border und den Titel zeichnen, resizen und verschieben implementieren ,... gar nicht lustig  :wink:


----------



## JPKI (9. Apr 2007)

Ich meinte, das man bei JDialog die Schließen-Schaltfläche doch irgendwie deaktivieren kann, nicht?


----------



## sockeqwe (9. Apr 2007)

Aber wie weis niemand?

Gibt es eine Möglichkeit, irgendwie das "Schließen" Event abzufangen, wenn man auf das X drückt und irgend etwas an den Server schickt... Geht das irgendwie?


----------



## Wildcard (9. Apr 2007)

> Gibt es eine Möglichkeit, irgendwie das "Schließen" Event abzufangen, wenn man auf das X drückt und irgend etwas an den Server schickt... Geht das irgendwie?


DO_NOTHING_ON_CLOSE + WindowListener


----------



## Verjigorm (9. Apr 2007)

edit: da war ich zu langsam


----------



## sockeqwe (9. Apr 2007)

und dann die Funktion: windowClosing oder WindowClosed?


----------



## Wildcard (9. Apr 2007)

Das eine wird aufgerufen wenn das X gedrückt wird, das andere wenn der Frame disposed wird.


----------



## sockeqwe (9. Apr 2007)

Achso,

also nehm ich am Besten windowclosing, um noch den Befehl an den Server zu schicken das sich dieser Client jetzt trennt, oder?

Was passiert eigenltich wenn mein Client Programm von Windows aus z.B. via Task Manager beendet wird? Dann wird aber kein Event ausgelößt was man mit WindowListener abfragen könnte oder so?


----------



## Wildcard (9. Apr 2007)

sockeqwe hat gesagt.:
			
		

> Was passiert eigenltich wenn mein Client Programm von Windows aus z.B. via Task Manager beendet wird? Dann wird aber kein Event ausgelößt was man mit WindowListener abfragen könnte oder so?


Dann hast du Pech. Wenn der Prozess gekillt wird (zB auch Stromausfall) kann man nichts machen.


----------



## sockeqwe (9. Apr 2007)

ok, vielen lieben Dank für die super auskünfte!

Echt klasse! Danke


----------

