将数组的内容添加到combobox中
我有一个数组(在另一个类中)有10个值。我想将这个数组的值添加到一个combobox中。 这可能吗? 谢谢
是。 一般来说,你可以这样做:
JComboBox b = new JComboBox(new String[]{"String1","String2"});
即有一个用于通过数组初始化的构造函数。
所以你只需要在数组中包含的对象中覆盖toString()
(如果它们不是String类型)。
当然:
Object[] yourArray = otherClass.getMyArray(); JComboBox box = new JComboBox (yourArray);
这将调用Object.toString()
来获取要在combobox中显示的值,因此如果您使用自定义类,请确保它覆盖toString()
方法。
编辑:
在Netbeans中有几种方法可以做到这一点。 这是一种方式。 在表单的某个地方,有一个这样的方法:
private ComboBoxModel getComboModel (OtherClass myOtherClass) { return new DefaultComboBoxModel (myOtherClass.getMyArray()); }
然后在表单设计器中:
- 单击combobox
- 在属性编辑器中编辑Model属性
- 从下拉列表中的现有组件中选择值
- 选择Method call单选按钮,然后选择
getComboModel()
还有很多其他方法可以做到这一点,但这适用于像你这样的简单案例。 一般来说,如果你想使Netbeans友好,那么你需要提供一个返回ComboBoxModel实例并指向Netbeans的方法。
试试这个方法:
private void combofill(){ cbxplaces.removeAllItems(); String[] place= {"Cont", "Cancel","TEST"}; DefaultComboBoxModel mod = new DefaultComboBoxModel(place); cbxplaces.setModel(mod); }