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