将JCombobox值返回到“原始”列表

时间:2012-06-03 03:37:13

标签: java swing jcombobox

在我的代码中,如果用户选择“生产”,则可用的频道会更改,但如果用户决定选择“暂存”或“测试”,则应显示完整的频道列表。发生这种情况时,显示的是[Ljava.lang.String;@1c23f1bb。什么会纠正这种行为?我是java的新手。

下面是我的代码,当我将environmentCbx设置为“Production”以外的其他内容时,我没有在社区组合框中获得原始字符串数组communityNameString

String communityNameString[] = {"Connection","CDK","Governors", "Community", "Committee", "Center","All States","Community_2","Sandbox"};


  environmentCbx.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent ae) {
      JComboBox environmentCbx = (JComboBox)ae.getSource();
      String environmentName = (String)environmentCbx.getSelectedItem();
      if("Production".equals(environmentName))
      {
          communityCbx.removeAllItems();
          //communityCbx.addItem(productionCommunityNames);
          communityCbx.addItem("Associate");
      }
      else
      {
          communityCbx.removeAllItems();
          communityCbx.addItem(communityNameString);
      }

1 个答案:

答案 0 :(得分:4)

如此example所示,您可以拥有多个ComboBoxModel,并且可以根据需要进行更改。只需构建两个模型:一个包含完整列表,另一个包含子集。

附录:仔细阅读,符号[Ljava.lang.String;@1c23f1bb是应用于String []的{​​{3}}方法的工件。项目应该是个人Object,例如String;您添加了一整套String个实例。