【发布时间】:2014-06-23 22:54:27
【问题描述】:
我需要从 Jtable 中删除 2 列。
如果我这样做:
try {
jTable5.setModel(dtm);
jTable5.removeColumn(jTable5.getColumnModel().getColumn(5));
jTable5.removeColumn(jTable5.getColumnModel().getColumn(6));
jTable5.setVisible(true);
}
catch (Exception e){
JOptionPane.showMessageDialog(rootPane, "Error");
}
然后显示“错误”。
但如果我这样做:
try {
jTable5.setModel(dtm);
jTable5.removeColumn(jTable5.getColumnModel().getColumn(5));
jTable5.setVisible(true);
}
catch (Exception e){
JOptionPane.showMessageDialog(rootPane, "Error");
}
不显示错误,并且表格设置为正确可见。似乎我无法使用 removeColumn() 方法两次从模型中删除两列。
我注意到有一个 removeColumnSelectionInterval(),我应该使用这个吗?
有什么想法吗?
【问题讨论】:
-
我假设在您的表中总共有 6 列,因此当您删除第 5 列之后,如果您当时尝试获取第 6 列,则会触发错误,因为现在有 5 列
-
1) 对代码块使用一致且符合逻辑的缩进。代码的缩进是为了帮助人们理解程序流程。 2) 为了尽快获得更好的帮助,请发布MCVE(最小完整且可验证的示例)。
-
没错,我尝试先删除第 6 列,然后删除第 5 列,效果很好。谢谢
-
提示:添加@Swapnil(或重要的
@)以通知新评论的人。 -
请尝试 getColumnIndex(Object Identifier) 获取列索引并使用列索引删除列。
标签: java swing jtable tablecolumn