【发布时间】:2014-10-08 18:37:40
【问题描述】:
我已经从数据库中填充了一个 jTable,现在我想添加更多功能,我想删除一行,我的数据结构是这样的:
public Vector getUser()throws Exception {
Vector<Vector<String>> userVector = new Vector<Vector<String>>();
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
PreparedStatement pre = conn.prepareStatement("SELECT * FROM korisnici");
rs = pre.executeQuery();
while (rs.next()) {
Vector<String> user = new Vector<String>();
user.add(rs.getString(1));
user.add(rs.getString(2));
user.add(rs.getString(3));
user.add(rs.getString(4));
userVector.add(user);
}
if (conn!=null)
conn.close();
return userVector;
}
接下来我用这样的模型创建了一个 jTable
jTable1.setModel(new javax.swing.table.DefaultTableModel(
data,header
));
所以现在我想使用删除行
jTable1.remove(int);
我的数据库有 7 行,当我输入 int=1 时,我得到 outOfBoundsException:1
我说错了,对吧?如何正确删除一行?
【问题讨论】:
-
您将
data添加到DefaultTableModel,向量是否以某种方式链接到userVector?我觉得缺少很多必要的代码。还有...How to remove a row from JTable? -
jTable1.remove(int);JTable 没有 remove() 方法。您调用的方法是Container.remove(...),它通常用于从面板而不是表格中删除组件,因为表格不包含任何子组件。
标签: java swing jtable defaulttablemodel