我在我的 JXTreeTable 上使用 BorderHighlighter 在非叶行的每个表格单元格上方放置一个边框,以便为用户提供更清晰的视觉分隔符。
问题是,当我展开分层列时,分层列中的所有单元格,对于所有行,都包括来自荧光笔的边框。其他列显示得很好。
我的 BorderHighlighter 定义如下:
Highlighter topHighlighter = new BorderHighlighter(new HighlightPredicate() {
@Override
public boolean isHighlighted(Component component, ComponentAdapter adapter) {
TreePath path = treeTable.getPathForRow(adapter.row);
TreeTableModel model = treeTable.getTreeTableModel();
Boolean isParent = !model.isLeaf(path.getLastPathComponent());
return isParent;
}
}, BorderFactory.createMatteBorder(2, 0, 0, 0, Color.RED));
我正在使用 SwingX 1.6.5。
当它折叠时,顶部 BorderHighlighter 正确显示:
展开后,非层次列显示 BorderHighlighter 右侧,但不显示层次列: