FlowLayout - Reihenumbruch

Na_dine

Mitglied
Hallo ich habe ein ein JPanel im FlowLayout erstellt.
Dieses JPanel in die ContentPane (BorderLayout) an die Stelle "North" getan. Alles sitzt in einem JFrame mit der Groesse:
Code:
Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize();

in meinem FlowLayout habe ich verschiedene JButtons getan, die der Reihe nach von links nach rechts angezeigt werden. Normalerweise, wenn in einer Reihe kein Platz mehr ist wird im FlowLayout doch automatisch die naechste begonnen, oder? bei mir leider nicht. :-(
die buttons die nach dem Fensterende zugefuegt werden,werden nicht mehr angezeigt.

Habe schon in der API geguckt, aber keine passenden Methoden gefunden. Hat wer von euch ne Idee was das Problem sein kann?
Hier mal mein QuellCode:

Code:
JPanel karten = new JPanel();
karten.setLayout(new FlowLayout());      //auch mit Layout.RIGHT etc.... nicht geschafft
for(int i=0; i<11 ; i++) (
karten.add(pB[i]);   

JPanel spielFeld = new JPanel();
spielFeld.setLayout(new BorderLayout(0,0);
spielFeld.add("North", karten);
 
Ein automatischer Zeilenumbruch ist im FlowLayout() nicht vorgesehen, das widerspricht meines Wissens dem Konzept von FlowLayout().
Für deinen Fall würde ich ein GridLayout() oder ein BoxLayout() empfehlen. Auch ein TableLayout könnte eine Lösung bringen, mit dem FlowLayout() bist du meiner Meinung nach auf dem falschen Weg.

Gruß,
BigManu
 
oh ok, überzeugt i'm sorry.
nachdem ich mich da durchgelesen habe und noch eine andere quelle zu rate gezogen habe (google sei dank :)) könnte ich mir vorstellen, dass es daran liegt, dass das jpanel spielfeld, dem das jpanel karten hinzugefügt wird, keine feste größe hat.

zwar hat wohl das jframe die feste größe (wie beschrieben die screensize), aber das jpanel auf dem es liegt nicht. ich würde mal versuchen dem jpanel eine feste größe zuzuweisen.
 
Zurück