简单的问题。在调用JTable
之前,有没有办法检查getColumn(Object identifier)
是否包含列?
JTable table = ...;
table.getColumn("header");
如果标题不存在, getColumn()
会抛出IllegalArgumentException
。那么,捕获该异常是检查列的唯一方法吗?正在寻找hasColumn()
或doesColumnExist()
或isColumnValid()
但是,唉,没什么。
答案 0 :(得分:3)
您可以简单地遍历TableColumnModel
个可用列,看看它是否包含可用列,例如......
JTable table = ...;
Object identifier = ...;
TableColumnModel model = table.getColumnModel();
boolean found = false;
for (int index = 0; index < model.getColumnCount(); index++) {
if (model.getColumn(index).getIdentifier().equals(identifier)) {
found = true;
break;
}
}
例如......是的,我会将其写入辅助方法/类中,以便您可以重复使用它。
您应该避免将异常用作逻辑控制器,因为可能会出现多种原因导致异常