在不同的JPanel中显示combox java

时间:2016-03-26 14:11:35

标签: java swing

如何在不同的JPanel中显示相同的JCombox。

在我的代码中,它只显示在最后一个JPanel中。

for (int i=1; i<=nb_client; i++) {
    JPanel panel=new JPanel();
    String titre="client"+i;
    tabbedPane.add(titre, panel);
    combox.setPreferredSize(new Dimension(100, 20));
    panel.add(combox);
    tabbedPane.validate();      
}

1 个答案:

答案 0 :(得分:2)

  

我如何在我的代码中显示不同Jpanel中的相同Jcombox,它只在最后一个Jpanel中显示

你不能。

组件只能有一个父组件,因此它只会显示在您添加组合框的最后一个面板中。

但是,您可以共享组合框的模型:

JComboBox comboBox1 = new JComboBox(...);
JComboBox comboBox2 = new JComboBox( comboBox1.getModel() );

现在当你选择一个项目时,它也会在另一个项目中被选中。

如果您不想要此行为,则需要将数据从一个组合框复制到另一个组合框。所以在这种情况下你需要编写一个循环。我将让你编写循环来复制数据。