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