1

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 が正しく表示されますが、階層列は表示されません。

4

0 に答える 0