我在 JCombo 框中有一个项目列表,基于我想更改列表中项目的另一个事件。 我有这样的方法
void changeChoices(Array[] foo)
{
JComboBox.removeAllItems();
for (int i=0;i < foo.length ; ++i)
JComboBox.addItem(foo[i]);
}
这个有效吗??
最佳答案
您的代码在语法方面无效。
foo
似乎是Array
对象的数组,你确定你正在使用Array
对象数组的组合框?您有
JComboBox.removeAllItems();
,这是无效的,因为JComboBox
类没有名为removeAllItems()
的静态方法。在 for 循环中你使用
JComboBox.addItem(foo[i]);
,这不是 由于上述类似原因再次有效,JComboBox
类没有名为addItem()
的静态方法。
一个有效的方法可能是这样的:
String[] oldValues = new String [5];
JComboBox comboBox = new JComboBox(oldValues);
public void changeChoices ( String [] newValues )
{
comboBox.removeAllItems();
for( int i = 0; i < newValues.length; i++ )
comboBox.addItem( newValues [ i ] );
}
最后但同样重要的是,如果您要从组合框中删除所有值并添加全新的值,那么您应该在代码中处理它们的相应事件。您可能正在向组合框添加一个 ItemListener
并在 itemStateChanged(ItemEvent event)
方法中实现选定的项目事件。因此,您应该实现如果从您的组合框中选择新添加的值会发生什么。我希望这篇文章有用且有意义。
关于java - 更改 JCombobox 中的项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404231/