我有一個非常簡單的Java程序(請參見下文)。 GridLayout有20行和4列。如你所知,元素應該被水平添加(GridLayout)定義。但是,我將兩個元素(標籤)垂直放置在另一個之上。要在GridLayout中調整大小的JLabel
我給它們着色並意識到標籤佔據了整行,因此產生了垂直效果。但是,我也使用setSize(5,5)來縮小它們,但它們仍然佔據整行。有關爲什麼發生這種情況以及如何修復/設置較小尺寸/等的任何建議?
public class Sam extends JFrame {
public JButton btn_arr;
public Container c;
public JLabel[] lbl = new JLabel[20];
public Sam()
{
c = getContentPane();
c.setLayout(new GridLayout(20,4));
lbl[1] = new JLabel("Column1");
c.add(lbl[1]);
lbl[2] = new JLabel("Column2");
c.add(lbl[2]);
show();
}
public static void main(String[] args)
{
Sam x = new Sam();
x.setVisible(true);
x.setSize(7500,4500);
}
}
我需要兩個JLabel在同一行,所以這應該通過添加兩個元素一個接一個來完成。如果我有2列,並且需要兩個元素,我會添加第一個元素,然後添加一個空白標籤,然後添加第二個元素(我知道這個技巧)。但事實並非如此,我需要在同一行上放置數組的前兩個元素(每個JLabel)。謝謝! – Sam
@Sam:請參閱編輯。但是我仍然想知道一個JTable在這裏工作會不會更好。 –
我不知道我可以將0用於可變數量的行 - 正是我感興趣的內容。非常好,非常感謝! – Sam