# JFrame und maximieren nicht erlauben



## DEvent (14. Jan 2006)

Hallo
mein Problem ist folgendes,
ich habe ein Fenster als JFrame ertellt. Nun will ich dem Benutzer verbieten das Fenster zu maximieren. 
Es müsste doch dazu eine Eigenschaft geben die definiert was der Benutzer alles mit dem JFrame machen kann ( maximieren, minimieren, schliesen ). Ich will ja auch das der Button oben rechts für das Maximieren nicht anklickbar wird ( unter Windows ) und der Menüpunkt Maximieren im Fenster-Menü nicht anwählbar ist.

Ich hoffe ich habe mich klar genug ausgedrückt.


----------



## L-ectron-X (14. Jan 2006)

```
setResizable(false);
```


----------



## DEvent (14. Jan 2006)

Das verhindert das man das Fenster in der Größe ändern kann.

Ich will aber nur verhindern das man das Fenster maximieren kann.
Für alle Windows-Benutzer: jedes Fenster hat ja oben rechts drei Buttons. Eins für minimieren, eins für maximieren und eins fürs schliessen. Ich will verhindern das der Benutzer das JFrame durch drücken des max-Buttons oder durch Doppelklick auf die Titelleiste maximiert.


----------



## L-ectron-X (14. Jan 2006)

Dann benutze statt eines JFrames einen JDialog.


----------



## The_S (16. Jan 2006)

Oder überprüf einfach über der State vom Fenster verändert wurde. Falls ja => einfach wieder zurück setzen.


----------



## Illuvatar (16. Jan 2006)

@Hobbit: Da hab ich auch zuerst drangedacht... aber das kommt irgendwie blöd, oder? Es vergrößert sich erst und geht dann wieder zurück


----------



## Sky (16. Jan 2006)

Darf das Fenster nicht in der Größe geändert werden ? 

Oder einfach nicht maximiert werden über den Button in der Titelleiste ? Falls dies der Fall ist: Wofür braucht man sowas, wenn der USER manuell das Fenster so groß machen kann, wie er will ?


----------



## The_S (16. Jan 2006)

Illuvatar hat gesagt.:
			
		

> @Hobbit: Da hab ich auch zuerst drangedacht... aber das kommt irgendwie blöd, oder? Es vergrößert sich erst und geht dann wieder zurück



Gschmarr, ein bisschen User ärgern is immer lustig 

Du könntest auch einfach die Titelleiste ausblenden und manuell eine eigene Bauen ohne maximieren Button


----------



## sliwalker (16. Jan 2006)

Warum nimmst Du kein JWindow?
Da ist dann zwar gar kein Knopf mehr, aber was Du wolltest hast Du erreicht


----------



## Bleiglanz (16. Jan 2006)

setMaximizedBounds auf die aktuelle Grösse

oder

windowStateChanged(WindowEvent) abfangen wenn MAXIMIZED_HORIZ, MAXIMIZED_VERT oder MAXIMIZED_BOTH (ist aber nicht ganz sooo einfach)

oder

frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);


----------



## Illuvatar (16. Jan 2006)

Bleiglanz hat gesagt.:
			
		

> frame.setUndecorated(true);
> frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);



Das könnte mal nützlich sein *merk* :###


----------



## Bleiglanz (17. Jan 2006)

aber auch mal in die API schaun, bei dem Thema "Maximieren" gibts irgenwelche Betriebssystem-Unabhängigkeits-Gefusseleien


----------



## DEvent (19. Jan 2006)

Illuvatar hat gesagt.:
			
		

> Bleiglanz hat gesagt.:
> 
> 
> 
> ...



das ist gar nicht mal so schlecht.



> Darf das Fenster nicht in der Größe geändert werden ?
> 
> Oder einfach nicht maximiert werden über den Button in der Titelleiste ? Falls dies der Fall ist: Wofür braucht man sowas, wenn der USER manuell das Fenster so groß machen kann, wie er will ?



Das Fenster darf einfach nicht maximiert werden können.
hmmm hast auch wieder recht. An sowas habe ich gar nicht gedacht das der User einfach das Fenster manuell auf max. vergrößert.


----------

