Java 使用组合框搜索时的ArrayIndexOutOfBoundsException

Java 使用组合框搜索时的ArrayIndexOutOfBoundsException,java,indexing,Java,Indexing,我正在尝试从表中搜索记录。我有一个JTextField和一个Jcombobox来进行搜索 因此,我有JTextField的代码,它通过排序对表进行常规筛选 private void SearchBoxKeyReleased(java.awt.event.KeyEvent evt) { try{ TableRowSorter<TableModel> sorter = new Table

我正在尝试从表中搜索记录。我有一个JTextField和一个Jcombobox来进行搜索 因此,我有JTextField的代码,它通过排序对表进行常规筛选

private void SearchBoxKeyReleased(java.awt.event.KeyEvent evt) {                                         
     try{
     TableRowSorter<TableModel> sorter = new TableRowSorter<>(((DefaultTableModel)expTable.getModel()));
    sorter.setRowFilter(RowFilter.regexFilter(SearchBox.getText()));
    expTable.setRowSorter(sorter);
    }catch(Exception e){
    e.getMessage();
    }         // TODO add your handling code here:
    }
问题是,当我使用JtextField进行搜索并随后使用组合框时,我会收到以下错误消息:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 7 >= 7
    at java.base/java.util.Vector.elementAt(Vector.java:496)
    at java.desktop/javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:660)
    at java.desktop/javax.swing.JTable.getValueAt(JTable.java:2706)
    at java.desktop/javax.swing.JTable.prepareRenderer(JTable.java:5721)

我认为在jcombobox代码初始化之前,使用textfield完成的排序没有正确关闭。如果是这种情况,请说明如何解决此问题

您在堆栈跟踪中遗漏了实际的错误消息。请说明它已被编辑。请帮助@Markus。我将在黑暗中全神贯注:您正在用一个新模型替换表模型,但是
TableRowSorter
对象仍在使用旧模型对象。在
expTable
中更换模型后,尝试用新模型更新行分拣机。好的,谢谢。我还是个编程新手。你能给我一个@Markus的示例代码吗。
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 7 >= 7
    at java.base/java.util.Vector.elementAt(Vector.java:496)
    at java.desktop/javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:660)
    at java.desktop/javax.swing.JTable.getValueAt(JTable.java:2706)
    at java.desktop/javax.swing.JTable.prepareRenderer(JTable.java:5721)