我在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右边,但不显示Hierarchical列: