0

私のコードは次のとおりです。グリッド内に 2 つのラベルがあり、ラベルが重なり合っており、同じものを持つ 2 つのドロップダウンが必要です。これは2セット欲しい。私が得るのは、互いに隣接する2つのラベルと、互いに隣接する2つのドロップダウンだけであり、最初の2つのラベルとドロップダウンはまったく表示されません。ドロップダウンは大文字になっています。エラーなし。

JPanel grid1 = new JPanel();
            setLayout(new GridLayout(2,1));            
            grid1.add(label1);
            grid1.add(label2);
            add(grid1);
        JPanel grid3 = new JPanel();
            setLayout(new GridLayout(2,1));            
            grid3.add(IHA);
            grid3.add(IVA);
            add(grid3);
        JPanel controlholder1 = new JPanel();
            setLayout(new BorderLayout());
            controlholder1.add(grid1);
            controlholder1.add(grid3);
            add(controlholder1);


        JPanel grid2 = new JPanel();
            setLayout(new GridLayout(2,1));            
            grid2.add(label3);
            grid2.add(label4);
            add(grid2);
        JPanel grid4 = new JPanel();
            setLayout(new GridLayout(2,1));            
            grid4.add(THA);
            grid4.add(TVA);
            add(grid4);     
        JPanel controlholder2 = new JPanel();       
            setLayout(new BorderLayout());
            controlholder2.add(grid2);     
            controlholder2.add(grid4);
            add(controlholder2);

ありがとう出力

編集: グリッド レイアウトに 2 つのラベルがあり、別のグリッドに 2 つのドロップダウンがあります。これらの両方がボーダー レイアウトで必要であり、別のボーダー レイアウトでこれらのボーダー レイアウトが 2 つ必要です。私がハンドルを持っていないネストされたものがあります。

4

2 に答える 2

1

私はこれを行います;

public JPanel getSubPanels(stuff_to_add_to_dropdowns, stuff_to_add_to_labels){
    JPanel subPanel = new JPanel();
    subPanel.setLayout(new GridLayout(2,2));
    subPanel.add(new JLabel(stuff_to_add_to_labels.get(0));
    subPanel.add(new JComboBox(stuff_to_add_to_dropdowns.get(0);
    subPanel.add(new JLabel(stuff_to_add_to_labels.get(1));
    subPanel.add(new JComboBox(stuff_to_add_to_dropdowns.get(1);
    return subPanel;
}

それを2回呼び出して、BorderLayout.NORTHとBorderLayout.SOUTHに親JPanelに追加します。

于 2012-12-02T23:29:25.470 に答える
1

BorderLayout を使用して、BorderLayout.NORTH に 1 つのラベルと 1 つのリストを追加し、BorderLayout.SOUTH に他の 2 つを追加します。

于 2012-12-02T23:24:29.853 に答える