wie kommt getPreferredSize() zustande?

Status
Nicht offen für weitere Antworten.

Pete23

Mitglied
ich würde gerne etwas hintergrund info zu getPreferredSize() haben...

Code:
okBtn = new JButton ("OK");
okBtn.setSize(getPreferredSize());

... dieser ok-Button ist bei mir extrem breit, viel breiter als er sein müsste. woran passt er sich an??
(im JPanel, wo der Button dann reinkommt, hab ich layout(null))
 

Pete23

Mitglied
Code:
okBtn = new JButton ("OK");
		okBtn.setSize(getMinimumSize());
		System.err.println(okBtn.getSize() +" " +okBtn.getMinimumSize() +" " +okBtn.getPreferredSize());

liefert folgende ausgabe:

Code:
java.awt.Dimension[width=191,height=33] java.awt.Dimension[width=49,height=25] java.awt.Dimension[width=49,height=25]

diese zeilen stehen direkt hintereinander. warum nimmt er nicht minimumsize an?
 

thE_29

Top Contributor
sag mal okBtn.setPreferredSize(getMinimumSize());

oder okBtn.setMaximumSize(getMinimumSize()); //hier kann er dann halt nima größer werden!
 

Pete23

Mitglied
wenn ich nur setMaximumSize() oder setPreferredSize() mache, sehe ich den Button garnicht mehr.
ich glaub das Problem ist einfach, dass die Size automatisch neu gesetzt wird...
ich wüsste eben nur nicht, wann und von wem(??)
 

thE_29

Top Contributor
dann sag mal setPreferredSize(new Dimension(100,30));

und schau obs dann geht! weil ich hatte dieses prob auch einmal, er gibt dir beim setzen von der size als getXXXSize nullwerte zurück und deswegen isses net da!
 

Pete23

Mitglied
also, extremen dank mal, aber wenn du mir das jetzt auch noch erklären könntest, wäre ich wirklich überglücklich!

wie kann bitte:
Code:
dim = okBtn.getPreferredSize();
		okBtn.setSize(dim);

funktionieren und folgends nicht:
Code:
okBtn.setSize(okBtn.getPreferredSize();

also ich bezweifle, dass mir jemals etwas unklarer war beim proggen :)
 

thE_29

Top Contributor
jo, das hab ich auch nicht ganz begriffen warum es so funktioniert, bin aber draufgekommen, das es halt so geht!

aber keine Ahnung warum!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius Wer oder was bestimmt welches Frame toFront kommt wenn ein anderes geschlossen wird? AWT, Swing, JavaFX & SWT 8
S Grafik: Programm kommt nicht zur paint()-Methode AWT, Swing, JavaFX & SWT 6
P Anwendung kommt nach minimieren nicht mehr in den Vordergrund AWT, Swing, JavaFX & SWT 5
B JFrame kommt nicht in den Vordergrund AWT, Swing, JavaFX & SWT 7
M SWT Scrollbalken kommt zu spät AWT, Swing, JavaFX & SWT 5
S validate(), invalidate(), repaint(),... Was kommt wann? AWT, Swing, JavaFX & SWT 5
K Simuliere Tastendruck, kommt nicht in allen Programmen an AWT, Swing, JavaFX & SWT 5
S Unterscheiden ob ein Graphics-Objekt von einer JComponent oder einem BufferedImage kommt..? AWT, Swing, JavaFX & SWT 4
hdi SWT Operation auf GUI-Komponente kommt mal wieder nicht an... AWT, Swing, JavaFX & SWT 9
F Woher kommt der Rand? AWT, Swing, JavaFX & SWT 4
T Feststellen woher KlickEvent kommt AWT, Swing, JavaFX & SWT 3
A Applet kommt offline nicht mit FileReader zurecht AWT, Swing, JavaFX & SWT 3
H eigene paintComponent(Graphics) kommt mit rezise nicht klar AWT, Swing, JavaFX & SWT 6
M JLabel kommt zu spät AWT, Swing, JavaFX & SWT 3
G ScrollPane: getPreferredSize() AWT, Swing, JavaFX & SWT 11
E Layout und getPreferredSize() AWT, Swing, JavaFX & SWT 6
C getPreferredSize() AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben