繁体   English   中英

使用JComboBox Open删除所有组合框项目的异常

[英]Exception Removing all Combo Box Items with JComboBox Open

我需要删除我的JComboBox上的所有元素,使用.removeAllItems()它工作正常! 但我注意到有一个小问题,也许是一个错误? 我不知道。

如果我打开JComboBox,然后尝试删除所有项目,则会抛出异常:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0

我试着在调用removeAllItems之前关闭弹出窗口,如下所示:

private void removeAllClassesAvailable() {
        classeComboBox.hidePopup();
        classeComboBox.removeAllItems();
}

但仍然没有成功!

也许是因为我的JComboBox在JTable中?

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

尝试放置一个全局变量boolean,以避免控件继续触发新事件:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM