我的代码如下。我希望网格中有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个边框布局。有嵌套的东西,我没有处理。
答案 0 :(得分:1)
使用BorderLayout
在BorderLayout.NORTH中添加一个标签和一个列表,在BorderLayout.SOUTH中添加另外两个答案 1 :(得分: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