检查JTable是否包含带标识符的列

时间:2014-06-16 01:18:56

标签: java swing jtable

简单的问题。在调用JTable之前,有没有办法检查getColumn(Object identifier)是否包含列?

JTable table = ...;
table.getColumn("header");
如果标题不存在,

getColumn()会抛出IllegalArgumentException。那么,捕获该异常是检查列的唯一方法吗?正在寻找hasColumn()doesColumnExist()isColumnValid()但是,唉,没什么。

1 个答案:

答案 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;
    }            
}

例如......是的,我会将其写入辅助方法/类中,以便您可以重复使用它。

您应该避免将异常用作逻辑控制器,因为可能会出现多种原因导致异常