所有行上的JXTreeTable和BorderHighlighter绘制边框

时间:2014-05-27 15:21:55

标签: java swingx jxtreetable

我在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列:

0 个答案:

没有答案