5

チェックボックス、スライダー、いくつかのボタンなど、さまざまなコンポーネントで構成されるコンポーネントがあります。これをスクロールペインに追加し、スライダーを成長させて残りのスペースをすべて埋めたいと思います。このコードが示すように、これは問題ありません。

 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);
 }

しかし、そうではありません。それを修正する理由と方法について何か考えはありますか?

4

1 に答える 1