非表示のルートの下に 2 つのレベルしかない JXTreeTable を作成しているので、トップ レベルのノードを区切る境界線が必要です。ただし、BorderHighlighter を使用すると、階層列が正しく描画されません。
テーブルの上にマウスを移動するだけで、最終的に列全体が黒くなるまで、階層セルに境界線が継続的に追加されます。
[InformIT] を含む多くのサイトから JXTableTree サンプル コードを使用して小さな例を作成し、コードをコピーして貼り付けて作成しました。2
この例では、蛍光ペン コードを main() メソッドに追加しました。
Highlighter topHighlighter = new BorderHighlighter(new HighlightPredicate() {
@Override
public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
return true;
}
}, BorderFactory.createMatteBorder(1, 0, 0, 0, Color.BLACK));
treeTable.addHighlighter(topHighlighter);
最新の SwingXバージョン 1.6.4と思われるものを試してみました。