私は、行と呼ばれるJPanelを継承するクラスを持っています。私が行の束がJLabelに追加した、コードは以下の通りです:JPanelのサイズを設定する
JFrame f=new JFrame();
JPanel rowPanel = new JPanel();
//southReviewPanel.setPreferredSize(new Dimension(400,130));
rowPanel.setLayout(new BoxLayout(rowPanel, BoxLayout.Y_AXIS));
rowPanel.add(test1);
rowPanel.add(test1);
rowPanel.add(test2);
rowPanel.add(test3);
rowPanel.add(test4);
rowPanel.setPreferredSize(new Dimension(600, 400));
rowPanel.setMaximumSize(rowPanel.getPreferredSize());
rowPanel.setMinimumSize(rowPanel.getPreferredSize());
f.setSize(new Dimension(300,600));
JScrollPane sp = new JScrollPane(rowPanel);
sp.setSize(new Dimension(300,600));
f.add(sp);
f.setVisible(true);
test1のは...などの行です。しかし、私がウィンドウのサイズを変更すると、Rowのレイアウトはどうにか乱雑になります(それは同様にサイズ変更されます)...どうしてこれが起こるのを防ぐことができますか?
上記のように私はgetPreferredSizeとsetMaximumSizeを使って変更しました(私の編集したコードを見てください)...それでもコードは存在しません。私は国境のレイアウトはどう?サイズを設定するにはどうすればいいですか? – aherlambang
http://download.oracle.com/javase/tutorial/uiswing/layout/border.html – Cesar
編集したコードはSSCCEではありません。はい、リンクはBorderLayoutに言及しません。 6分でセクション全体を読むことができる方法はありません!!!レイアウトマネージャは、パネル自体にではなく、パネルに追加されたコンポーネントで動作します。 – camickr