WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [Java] JFrame resizen? (http://www.wcm.at/forum/showthread.php?t=157801)

cndg 03.02.2005 22:24

[Java] JFrame resizen?
 
Hi!

Ich zerbreche mir schon seit längerem den Kopf darüber, wie ich es angehen soll, die Größe eines JFrame-Objektes vom Programm aus zu verändern. Mit setSize(...) rührt sich jedenfalls nichts (verstehe ich zwar nicht, aber was soll's). Also habe ich mir gedacht, ich frage hier einfach mal nach. Vielleicht kann mir jemand einen Rat geben.

mfg
cndg

jak 04.02.2005 00:36

Ob sich was getan hat oder nicht merkst du, wenn du dir mit getSize() die Größe vorher und nachher ausgeben lässt.

Bei allen Dingen die die Gui betreffen sind ein paar Dinge zu beachten:
-) Wenn du an der Gui etwas ändert mußt du meistens noch irgendetwas anderes machen, damit die Änderungen auch angezeigt werden.
Heisse Tipps dazu sind, je nachdem was du erreichen willst:
repaint(), validate(), pack() und updateUI().

-) Du kannst dir nicht sicher sein, daß das, was du in deinem Teil des Programms als Variable ansprichst, das selbe ist wie das was angezeigt wird. Soll heißen: Wenn du z.B. ein
JFrame meinFrame=new JFrame();
JDialog dlg=new Dialog();
hast und es dann z.B. mit d.add(meinFrame);
in den Dialog einfügst, kannst du nicht davon ausgehen, daß du nachher noch mit meinFrame.setSize() das Frame, daß im Dialog angezeigt wird beeinflussen kannst. Es wird ziemlich sicher nur ein Objekt angezeigt, daß mit .clone() erstellt wurde (k.A. ob das die Java Entwickler so implementiert habem, ich würd's zumindest so machen).

Jak

cndg 04.02.2005 12:37

Hallo jak!

Also mit repaint und validate hab ich mich schon gespielt (leider erfolglos). Pack bringt, was ich mich erinnern kann, eher das Gegenteil von dem was ich brauche (ich will ja die Größe des Fensters neu (und in meinem Fall größer als zuvor) festlegen, aber pack macht das Fenster bestenfalls so klein wie möglich). updateUI muss ich noch probieren...

Eines ist aber sicher: der JFrame, den ich resize, ist der richtige, weil ich danach Steuerelemente darauf platziere, die ich auch sehe.

mfg
cndg

jak 04.02.2005 13:16

ich hab' eh geschrieben das man die Dinge je nach Bedarf verwenden soll.

Was du auch noch probieren kannst ist mit setPreferredSize() und setMaximumSize() herumzuspielen. Vor allem zweiteres bringt oft was.

Jak


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag