Java 使用TableRowSorter时遇到问题,如何修复ArrayIndexOutOfBoundsException?
您好,我正在尝试使用TableRowSorter从Jtable筛选信息,但我得到了以下错误:java.lang.ArrayIndexOutOfBoundsException INIALIZARCRUDCOS()在jframe开始使用LlenatableTrue()时填充表 LlenarTablaTrue()使用jframe中已经创建的jtable,填充它(它工作)并返回defaulttablemodel FiltrarDatos()用于从LlenatableTrue()获取表模型并设置tablerowsorter 以下是代码(删除了一些不用于创建表或筛选表的代码):Java 使用TableRowSorter时遇到问题,如何修复ArrayIndexOutOfBoundsException?,java,swing,netbeans,jtable,tablerowsorter,Java,Swing,Netbeans,Jtable,Tablerowsorter,您好,我正在尝试使用TableRowSorter从Jtable筛选信息,但我得到了以下错误:java.lang.ArrayIndexOutOfBoundsException INIALIZARCRUDCOS()在jframe开始使用LlenatableTrue()时填充表 LlenarTablaTrue()使用jframe中已经创建的jtable,填充它(它工作)并返回defaulttablemodel FiltrarDatos()用于从LlenatableTrue()获取表模型并设置table
public CentrocostosCRUD(CentrocostosDAO CentrocostosCRUD,PanelLaboral_CentroCostos Ventanacentrocstos){
this.centrocostosCRUD=centrocostosCRUD;
this.ventanaCentrocostos=ventanaCentrocostos;
this.ventanaCentrocostos.TFbusqueda.addKeyListener(this);
}
公共无效INIALIZARCRUDCOS(){
LlenarTablaTrue(ventanaCentrocostos.TablaCos);
//TablaCos是jframe中jtable的名称
}
public DefaultTableModel LlenatableTalrue(JTable TablaUbi){
DefaultTableModelot=新的DefaultTableModel();
TablaUbi.setModel(modeloT);
TablaUbi.setDefaultEditor(Object.class,null);
modeloT.addColumn(“ID”);
modeloT.addColumn(“成本中心”);
modeloT.addColumn(“描述”);
modeloT.addColumn(“Estado”);
Object[]columna=新对象[4];
int numRegistros=centrocostosCRUD.listarTrue().size();
对于(int i=0;i
在用于搜索的文本框(TFbusqueda)中键入内容没有任何作用
线程“AWT-EventQueue-0”java.lang.ArrayIndexOutofBounds异常:2
在javax.swing.DefaultRowSorter.setModelToViewFromViewToModel(DefaultRowSorter.java:734)
位于javax.swing.DefaultRowSorter.rowsInserted0(DefaultRowSorter.java:1063)
位于javax.swing.DefaultRowSorter.rowsInserted(DefaultRowSorter.java:868)
位于javax.swing.JTable.notifySorter(JTable.java:4270)
在javax.swing.JTable.sortedTableChanged(JTable.java:4118)
在javax.swing.JTable.tableChanged(JTable.java:4395)
位于javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
位于javax.swing.table.AbstractTableModel.fireTableRowsInserted(AbstractTableModel.java:231)
位于javax.swing.table.DefaultTableModel.insertRow(DefaultTableModel.java:376)
位于javax.swing.table.DefaultTableModel.addRow(DefaultTableModel.java:350)
位于javax.swing.table.DefaultTableModel.addRow(DefaultTableModel.java:361)
位于Controlador.CentrocostosCRUD.llenartablerue(CentrocostosCRUD.java:63)
位于Controlador.CentrocostosCRUD.filteradatos(CentrocostosCRUD.java:93)
在Controlador.CentrocostosCRUD.keyreased(CentrocostosCRUD.java:131)
位于java.awt.Component.processKeyEvent(Component.java:6494)
位于javax.swing.JComponent.processKeyEvent(JComponent.java:2832)
位于java.awt.Component.processEvent(Component.java:6310)
位于java.awt.Container.processEvent(Container.java:2236)
位于java.awt.Component.dispatchEventImpl(Component.java:4889)
位于java.awt.Container.dispatchEventImpl(Container.java:2294)
位于java.awt.Component.dispatchEvent(Component.java:4711)
在java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)中
位于java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
位于java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
在java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)中
位于java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
位于java.awt.Component.dispatchEventImpl(Component.java:4760)
位于java.awt.Container.dispatchEventImpl(Container.java:2294)
位于java.awt.Window.dispatchEventImpl(Window.java:2746)
位于java.awt.Component.dispatchEvent(Component.java:4711)
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
在java.awt.EventQueue.access$500(EventQueue.java:97)
在java.awt.EventQueue$3.run(EventQueue.java:709)
在java.awt.EventQueue$3.run(EventQueue.java:703)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
在java.awt.EventQueue$4.run(EventQueue.java:731)
在java.awt.EventQueue$4.run(EventQueue.java:729)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
在java.awt.EventDispatchThread.pumpO