我有一個類擴展名爲Row的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的地方...等是行。但是,當我調整窗口的大小時,該行的佈局會變得混亂(它也會調整大小)......我怎樣才能防止這種情況發生?
我改變了使用getPreferredSize和setMaximumSize如上所示(請參閱我的編輯的代碼)...仍然,因爲代碼甚至不存在。如果我有邊界佈局呢?我如何設置尺寸?它沒有提到你上面給出的鏈接上的BorderLayout – aherlambang 2010-11-19 04:57:26
http://download.oracle.com/javase/tutorial/uiswing/layout/border.html – Cesar 2010-11-19 05:01:09
你編輯的代碼不是SSCCE。是的,鏈接確實提到了BorderLayout。您無法在6分鐘內閱讀完整部分!佈局管理器處理添加到面板的組件,而不是面板本身。 – camickr 2010-11-19 05:07:32