5
我有一個由各種組件組成的組件,例如複選框,滑塊和一些按鈕。我想將它添加到一個滾動窗格並讓滑塊長出來填充所有剩餘的空間。這是沒有問題的,因爲這代碼演示:如何強制組件在Java中的MigLayout中生長
public static void main(String[] args) {
JFrame f = new JFrame("Test");
JPanel c = new JPanel(new MigLayout(
"",
"[]5[]10[grow]10[]0[]0[]0[]",
"[]"
));
c.add(new JCheckBox(""));
c.add(new JLabel("Name"));
c.add(new JSlider());
c.add(new JButton("1"));
c.add(new JButton("2"));
c.add(new JButton("3"));
c.add(new JButton("4"));
f.getContentPane().add(new JScrollPane(c));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
如果你運行這個和調整框架,滑塊填滿所有的空間。我的問題在於,我想在另一個包含這個不同實例的組件中添加我的組件(帶滑塊的組件)。因此,例如它將包含3個或4個組件,其中滑塊一個在另一個之下。我認爲這將工作:
public static void main(String[] args) {
JFrame f = new JFrame("Test");
JPanel c = new JPanel(new MigLayout(
"",
"[]5[]10[grow]10[]0[]0[]0[]",
"[]"
));
c.add(new JCheckBox(""));
c.add(new JLabel("Name"));
c.add(new JSlider());
c.add(new JButton("1"));
c.add(new JButton("2"));
c.add(new JButton("3"));
c.add(new JButton("4"));
JPanel a = new JPanel(new MigLayout("wrap 1"));
a.add(c);
f.getContentPane().add(new JScrollPane(a));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
但它沒有。任何想法爲什麼以及如何解決它?
當我剪切和粘貼代碼,滑塊也_not_增長。我不得不爲它添加一個「growx」約束。 – CarlG 2009-10-16 19:16:28
這很奇怪...你使用什麼樣的mig版本,以及java版本是什麼? (也是什麼操作系統?) – 2009-10-18 02:56:33