Java 在JComboBox打开时删除所有组合框项时出现异常
我需要使用.removeAllItems()删除JComboBox中的所有元素,效果很好! 但我注意到有一个小问题,可能是一个bug?我不知道 如果我让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
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。