Zitat
Original geschrieben von shabby
# der BoxLayout - Manager versucht alle Komponenten auf 'optimale' Größe zu Resizen. Jetzt ist z.B. eine Eingabefeld für eine Zahl so groß wie das Textfeld in das ich grad schreibe ? wie kann ich das verhindern ? Ist SetMaximum / SetMinimum die gesuchte Lösung ?
ich weiss nicht ganz was du genau meinst, aber setPreferredSize(Dimension dim) ist in vielen fällen dein freund.
Beim BoxLayout bringts wahrscheinlich nicht viel, aber du kannst deinen textfeldern auch im constructor einen int mitgeben, der angibt wieviel zeichen das ding gross sein soll.
Zitat
# Im FlowLayout wiederum wird alles möglichst knapp angeordnet. Problem: Wenn ich eine ScrollPane als Container verwende, stehen alle Elemente links nebeneinander. Wie verhindert mand das ?
FlowLayout ist auch dafür gebaut. du kannst die sachen nur links, mittig oder rechts ausrichten glaub ich.
Zitat
# lbnl: Warum kann ich in der init-Phase nicht die Größe der einzelnen Komponenten abrufen
zeig mal den code dafür. du musst aber aufpassen: soweit ich weiss werden die componenten erst richtig gelayoutet wenn alles bekannt ist was reinkommt und du den container (frame wahrscheinlich) sichtbar machst.
meine erfahrung: ich fahr mit BorderLayout meistens sehr gut. FlowLayout dann für eine reihe buttons oder ähnliches, und gridlayout wenn du viele labels mit textfeldern anzeigen musst.
hoffe, das hilft dir weiter.
.tscherno