java - 更改 JCombobox 中的项目列表

标签 java swing

我在 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/

相关文章:

java - Java 有没有办法传递方法引用?

java - Graphics2D 不在 Canvas 上绘制

java - Kotlin 中的 ClassCastException 即使条件语句检查其类型是否正确

java - 如何使用 tomcat、mysql 和 jdbc 驱动程序在 Internet 上发布我的 jsp 项目

java - 使用 JPanel 在单击按钮时绘制矩形

java - JEdi​​torPane 正在丢弃空元素

java - 高性能 JMS 消息传递

java - 键作为整数,值作为 IntegerArray

java - 使用带有自定义渲染器的 JComboBox 作为 JTable 单元格渲染器/编辑器(架构)

java - JPanels 出现在我创建的每个 GUI 上