JTable里使了JComboBox控件后能正常运行,但无法刷新表格里的数据,数据是从数据库里得到的,只要表格一刷新就抛异常:Exceptioninthread"AWT-EventQueue-0"java.lang.ArrayIndexOutO...
JTable里使了JComboBox控件后能正常运行,但无法刷新表格里的数据,数据是从数据库里得到的,只要表格一刷新就抛异常:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt(Unknown Source)
at javax.swing.table.DefaultTableModel.setValueAt(Unknown Source)
at javax.swing.JTable.setValueAt(Unknown Source)
at javax.swing.JTable.editingStopped(Unknown Source)
at javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source)
at javax.swing.AbstractCellEditor.stopCellEditing(Unknown Source)
at javax.swing.JTable.columnMarginChanged(Unknown Source)
at javax.swing.table.DefaultTableColumnModel.fireColumnMarginChanged(Unknown Source)
at javax.swing.table.DefaultTableColumnModel.propertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.fire(Unknown Source)
表格实现JComboBox控件的代码如下:private JComboBox cboRender;private JComboBox cboEditor;private Object value;private JTable table;public ComboBoxColumn(TableColumn tc){cboEditor = new JComboBox();cboEditor.addItemListener(new ItemListener(){public void itemStateChanged(ItemEvent e){// 关闭单元格的编辑状态,但好像这样写没有任何作用fireEditingStopped();stopCellEditing();}});tc.setCellEditor(this);tc.setCellRenderer(this);}
展开