Forum: PC-Programmierung JFrame-Größe anpassen, Fensterrand und Leiste werden mitgezählt


von Maxim (maxim) Benutzerseite


Lesenswert?

Wenn ich über setSize(...) die Fenstergröße des JFrame einstelle, gilt 
es ja für das ganze Fenster und nicht für den nutzbaren Bereich (also 
ohne Rand und ohne Leiste.) Jetzt habe ich einen Container mit einer 
bestimmten Größe, die bei jedem Programmstart variieren kann. Das JFrame 
soll sich an den Container so anpassen, dass dieser vollständig 
dargestellt wird.

Ich hoffe klar genug erklärt zu haben, was ich meine. Habe bisher nichts 
dazu gefunden.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?


von Markus (Gast)


Lesenswert?

Layout-Manager verwenden?! Die können sowas vollautomatisch...

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Layout-Manager hat aber nix mit der Containergröße zu schaffen...

von Markus V. (Gast)


Lesenswert?

@ Läubi
> Layout-Manager hat aber nix mit der Containergröße zu schaffen...
Na ja, wie man's sieht. ;-) Du hast auf jeden Fall Recht, daß die Größe 
des JFrames natürlich nicht direkt über Layout-Manager verwaltet wird.

Wie ich Maxim verstanden habe, will er die Größe seines JFrames an einen 
Container anpassen. Wenn man Layout-Manager im Container einsetzt, kann 
man diesen fragen, welche "preferred size" er denn hat und dann die 
Größe des des JFRames unter Berücksichtigung der Insets setzen. Ich 
lasse mich aber gerne eines Besseren belehren. Es ist schon ein paar 
Tage her, daß ich Swing verwendet habe.

Gruß
Markus

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Sein Problem ist das "setSize" auf den JFrame angewendet diesen halt so 
sezt das die Außenmaße die Größe haben, ihm fehlte wohl das Stichwort 
in Insets aber da er sich nicht mehr meldet hat es sich wohl erledigt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.