Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JComboBox不显示结果_Java_User Interface_Swing_Jcombobox - Fatal编程技术网

Java JComboBox不显示结果

Java JComboBox不显示结果,java,user-interface,swing,jcombobox,Java,User Interface,Swing,Jcombobox,我试图在arraylist上基于for和if循环在JCombobox中设置值 //salesman=the name of the combobox salesman = new javax.swing.JComboBox(); DefaultComboBoxModel model = new DefaultComboBoxModel(); salesman.setModel(model); /*company is an object of Company class,

我试图在arraylist上基于for和if循环在JCombobox中设置值

     //salesman=the name of the combobox
    salesman = new javax.swing.JComboBox();

DefaultComboBoxModel model = new DefaultComboBoxModel();
 salesman.setModel(model);

/*company is an object of Company class, that gets set with a setter method to ensure 
that the gui will be pointing to the right object. and it does contains the data i want, so 
i am sure that company is not the problem */       
//loop tp set box list 
for (Employee current : company.getArray()){

 if (current instanceof Salesman) {
   salesman.addItem(current.getCode());
  }

}

但是组合框保持为空。为什么会这样?

是否要将组合框添加到其父容器中

只要存在销售人员实例,上述代码就可以正常工作


你说你确定公司不是目标,但你检查过你实际添加到ComboBoxModel中的内容吗?另外,您不需要实例化您自己的DefaultComboxModel,因为您可以使用JComboBox“免费”获得一个ComboxModel。您是否将ComboxModel添加到其父容器中

只要存在销售人员实例,上述代码就可以正常工作


你说你确定公司不是目标,但你检查过你实际添加到ComboBoxModel中的内容吗?此外,您不需要实例化您自己的DefaultComboxModel,因为您可以通过JComboBox获得一个“免费”的模型。如果您只是向JComboBox添加一些测试字符串,是否会显示它们

如果是,则可能是.getCode()方法有问题


另外,请尝试删除DefaultComboxModel,因为这不是必需的。

如果您只是将一些测试字符串添加到JComboxModel中,是否会显示它们

如果是,则可能是.getCode()方法有问题


另外,请尝试删除DefaultComboxModel,因为这不是必需的。

无论如何,我建议您执行以下操作:

  • 重写saller类的toString()方法,以获得理想的视觉表示(即代码)

  • 将销售人员而非代码添加到组合框模型


  • 无论如何,我建议你:

  • 重写saller类的toString()方法,以获得理想的视觉表示(即代码)

  • 将销售人员而非代码添加到组合框模型


  • 将项目添加到模型中,而不是直接添加到组合框中。此外,还可以使用barti_ddu的建议。

    将项目添加到模型中,而不是直接添加到组合框中。此外,还可以使用barti_ddu的建议。

    确定问题已解决!我刚刚添加到class a Company类对象的构造函数中,该对象由setCompany设置。

    确定问题已解决!我刚刚添加到class a Company类对象的构造函数中,该对象由setCompany设置。

    我编写了一个测试方法,其中我打印了“current”的值。当我在另一个JFrame中调用该方法时,tha调用这个方法(通过使用AddOrder.test();它打印两个代码(45,46),我编写了一个测试方法,其中我打印“current”的值。当我在另一个JFrame中调用该方法时,tha调用这个方法(通过使用AddOrder.test();它打印两个代码(45,46),实际上,它可能不是空的(但如果saller.getCode().toString()返回null:)实际上,它可能不是空的(但如果saller.getCode().toString()返回null:)如果手动添加saller.addItem(“blablablabla”);则它会被显示。getCode()只返回saller代码号。如果手动添加saller.addItem(“blablablablabla”);则它可能不是空的,它将被显示,只返回销售员代码。很好,您成功地解决了问题。现在,您需要将其中一个答案标记为您接受的答案-或者标记您自己的答案,或者标记您发现最有用的答案。很好,您成功地解决了问题。现在,您需要将其中一个答案标记为您接受的答案-即r标记你自己的,或你认为最有用的。