簡體   English   中英

Java Swing面板尺寸

[英]Java Swing Panel Size

嗨,我一直在學習Java Swing,以創建一個下棋游戲來練習Java編程技能。

我已經使用BorderLayout在JFrame的東部添加了一個JPanel,並且使用了setPrefferedSize(new Dimension(x,y))方法來設置寬度和高度。

之后,我創建了4個JPanel並將它們與BoxLayout一起添加到先前創建的面板上。

我試圖用setSize(x,y)setPreferredSize(new Dimension(x,y))設置4個面板的大小,但它會自動工作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最適合在單個軸上布置大小可變的組件。 從Javadocs:

“ BoxLayout嘗試以其首選寬度(對於水平布局)或高度(對於垂直布局)排列組件。

這個想法是,它們可能具有不同的高度(對於水平布局),並且將采用最大高度。 並且,它們絕對可以具有不同的寬度。 此外,BoxLayout還可以使用一些“有趣”的填充項,例如Box.createHorizontalGlue(). 一旦掌握了這些內容,它們對於靈活,可調整大小的布局實際上非常有用。 但是,總而言之,BoxLayout可以靈活,可調整大小地布置具有不同大小的項目。

對於比較簡單的情況下,特別是如果你想首選寬度和首選高度是“尊敬”,用網格布局的其他人已經建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM