嗨我一直在學習Java Swing來創建一個國際象棋遊戲來練習我的Java編程技巧。Java Swing面板大小
我在JFrame的東邊加了一個JPanel,用BorderLayout
,我用setPrefferedSize(new Dimension(x,y))
方法來設置寬度和高度。
之後,我創建了4個JPanel,並在之前創建的面板上添加了BoxLayout
。
我試圖與setSize(x,y)
和setPreferredSize(new Dimension(x,y))
設置4個板的尺寸,但它dosent工作了4個板全自動改變,因此尺寸以適應主JPanel並在其中一人添加一個JLabel後,它的大小增加自動。
這是我的代碼:
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JPanel a = new JPanel();
a.setPreferredSize(new Dimension(50, 50)); //this dosent work
a.add(min);
a.setBackground(Color.red);
this.add;
JPanel b = new JPanel();
b.setBackground(Color.blue);
this.add(b);
JPanel c = new JPanel();
this.add(c);
JPanel d = new JPanel();
d.setBackground(Color.black);
this.add(d);
我怎樣才能改變這些面板的大小?
你正在處理的這些問題是依賴於佈局的。使用「BoxLayout」是強制性的嗎?對我個人而言,我會使用'GridLayout'來完成您正在嘗試完成的任務。 – fireshadow52
另請參閱此[示例](http://stackoverflow.com/a/2562685/230513)和[變體](http://stackoverflow.com/a/2563350/230513);更多[這裏](http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods-in-java-swi/7229662)。 – trashgod
那些確實是BoxLayout問題。嘗試使用'Grid'佈局,它將會更加符合你的期望。 – Sheriff