0

我的代码如下。我想要一个网格中的 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

使用 BorderLayout 在 BorderLayout.NORTH 中添加一个标签和一个列表,在 BorderLayout.SOUTH 中添加另外两个

于 2012-12-02T23:24:29.853 回答
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;
}

并调用它两次将其添加到 BorderLayout.NORTH 和 BorderLayout.SOUTH 到父 JPanel

于 2012-12-02T23:29:25.470 回答