カスタムツリーセルレンダラーを実装する必要がある状況があります。 私の仕様では、親ノードのチェックボックスノードとテキストのみを用意し、デフォルトのツリーセルレンダラーで使用されるフォルダアイコンは使用しません。CheckBoxノードレンダラー
私は次のコードスニペットでそれを達成しました。
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
JLabel l = (JLabel)renderer.getTreeCellRendererComponent(
tree, "", true, expanded, leaf, row, true);
l.setIcon(null);
l.setText(value.toString());
panel.removeAll();
panel.add(this, BorderLayout.WEST);
panel.add(l);
return panel;
}
結果のスクリーンショットは次のとおりです。
ここで、テキスト「1」を囲む灰色の領域が表示されます。
灰色の領域をクリアするように案内できますか?
出力は、テキストの周りに灰色を持たないものでなければなりません。
:)この問題については
を含ま返し
Color
とTreeCellRenderer
でsetBackground
に非常に単純な回避策があります。 'panel.setOpaque(false);' – Robin@Robinを呼び出してみてください。 setOpaqueはここでは動作しません。それを試してみました 。 – Achilles