在 swing jtable 中的行数之后插入行或记录
inserting row or record in swing jtable after numbers of rows inside
我是 java 的新手,因为我是 vb6 presnelty 的移民,我正在将过去 15 年的员工和旧设备转移到 Java 现在我要加载数据在我的 Jtable 中中继记录数我的意思是我想测试我的 Jtable 中的当前记录在哪里,然后将我的记录上传到该行后面我的函数按照这里我使用 jtable 行数但它给了我错误消息
public void LoadLineInJtable(){
int RowNo= jTable1.getModel().getRowCount();
jTable1.setValueAt(jTjournal_submain_no.getText(), RowNo+1, 0);
jTable1.setValueAt(jTjournal_submain_name.getText(), RowNo+1, 1);
}
尝试使用上面的代码时出现以下错误
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 9 >= 8
at java.util.Vector.elementAt(Vector.java:470)
感谢您的意见。
您的 JTable 的行数是 RowNum(您应该重命名 rowNum 以符合 Java 命名标准),然后您尝试在尚不存在的行中设置值。了解 JTable 行是基于 0 的,例如 Java 数组,因此您不能操作超出 rowCount - 1.
的任何数据
如果你想添加一行,你必须使用 addRow(...)
如果你的模型是 DefaultTableModel 或这个 class 的子模型,或者如果你使用你自己的添加行方法正在使用自定义 table 模型。
所以你可能想要这样的东西:
public void LoadLineInJtable(){
// get data and put into array or Vector
String[] dataRow = {
jTjournal_submain_no.getText(),
jTjournal_submain_name.getText()
};
// get table model and cast it to a DefaultTableModel
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
// add row to model
model.addRow(dataRow);
}
使用它在 table 的末尾添加一个新行:
((DefaultTableModel)jTable1.getModel()).addRow(new String[]{"column1","column2"});
我是 java 的新手,因为我是 vb6 presnelty 的移民,我正在将过去 15 年的员工和旧设备转移到 Java 现在我要加载数据在我的 Jtable 中中继记录数我的意思是我想测试我的 Jtable 中的当前记录在哪里,然后将我的记录上传到该行后面我的函数按照这里我使用 jtable 行数但它给了我错误消息
public void LoadLineInJtable(){
int RowNo= jTable1.getModel().getRowCount();
jTable1.setValueAt(jTjournal_submain_no.getText(), RowNo+1, 0);
jTable1.setValueAt(jTjournal_submain_name.getText(), RowNo+1, 1);
}
尝试使用上面的代码时出现以下错误
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 9 >= 8
at java.util.Vector.elementAt(Vector.java:470)
感谢您的意见。
您的 JTable 的行数是 RowNum(您应该重命名 rowNum 以符合 Java 命名标准),然后您尝试在尚不存在的行中设置值。了解 JTable 行是基于 0 的,例如 Java 数组,因此您不能操作超出 rowCount - 1.
的任何数据如果你想添加一行,你必须使用 addRow(...)
如果你的模型是 DefaultTableModel 或这个 class 的子模型,或者如果你使用你自己的添加行方法正在使用自定义 table 模型。
所以你可能想要这样的东西:
public void LoadLineInJtable(){
// get data and put into array or Vector
String[] dataRow = {
jTjournal_submain_no.getText(),
jTjournal_submain_name.getText()
};
// get table model and cast it to a DefaultTableModel
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
// add row to model
model.addRow(dataRow);
}
使用它在 table 的末尾添加一个新行:
((DefaultTableModel)jTable1.getModel()).addRow(new String[]{"column1","column2"});