简单的问题。有没有办法在调用 getColumn(Objectidentifier)
之前检查 JTable
是否包含列?
JTable table = ...;
table.getColumn("header");
如果 header 不存在,getColumn()
会抛出 IllegalArgumentException
。那么,捕获异常是检查列的唯一方法吗?正在寻找 hasColumn()
或 doesColumnExist()
或 isColumnValid()
但是,唉,什么也没有。
最佳答案
您可以简单地迭代 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;
}
}
例如......是的,我会将其写入辅助方法/类中,以便您可以重用它。
您应该避免使用异常作为逻辑 Controller ,因为引发异常的原因可能有多种
关于java - 检查 JTable 是否包含带标识符的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24235557/