Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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_Swing_Jcombobox_Removeall - Fatal编程技术网

Java 在JComboBox打开时删除所有组合框项时出现异常

Java 在JComboBox打开时删除所有组合框项时出现异常,java,swing,jcombobox,removeall,Java,Swing,Jcombobox,Removeall,我需要使用.removeAllItems()删除JComboBox中的所有元素,效果很好! 但我注意到有一个小问题,可能是一个bug?我不知道 如果我让JComboBox保持打开状态,然后尝试删除所有项目,则会引发异常: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 在调用removeAllItems之前,我尝试关闭弹出窗口,如下所示: private voi

我需要使用.removeAllItems()删除JComboBox中的所有元素,效果很好! 但我注意到有一个小问题,可能是一个bug?我不知道

如果我让JComboBox保持打开状态,然后尝试删除所有项目,则会引发异常:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
在调用removeAllItems之前,我尝试关闭弹出窗口,如下所示:

private void removeAllClassesAvailable() {
        classeComboBox.hidePopup();
        classeComboBox.removeAllItems();
}
但还是没有成功


可能是因为我的JComboBox在JTable中?

看起来像是添加到组合框中的一个侦听器试图处理选择。在删除项和读取项之前,请尝试从组合中删除侦听器。

尝试放置一个全局变量布尔值,以避免控件不断触发新事件:

public static boolean avoidNewEvents;

.............

private void 
    jCBoxSubCategoriaActionPerformed(java.awt.event.ActionEvent evt) {                                                  
    // ComboBox 
    //
    if (Form.avoidNewEvents==false) return;
    .............

      //Avoid new events to fire recursively
      FORM.avoidNewEvents=false;

       /  
       jCBoxSubCategoria.removeAllItems();

     //Reset:
     FORM.avoidNewEvents=true;

你能显示抛出异常的行吗?希望很快有人能回答这个问题。如果不是,考虑添加更多的信息和代码,最好是AN。