0

木を作成しましたが、色を設定していることに気づいていません。

    JTree tree;
    JList list;
    JFrame frame;
    tree=new JTree("Tree");
    frame.add(tree,BorderLayout.WEST);
    tree.addTreeSelectionListener(this);
    frame.add(teamMember,BorderLayout.NORTH);
    frame.add(list,BorderLayout.CENTER);

JTreeで色を設定することはできますか?

4

2 に答える 2

7

TreeCellRendererツリーノードの色(前景と背景の両方)は、に関連付けられているから来ていますJTree。のツリーセルレンダラーJTreeはルックアンドフィールによって異なりますが、おそらくから派生していると見なすことができますDefaultTreeCellRenderer。そうである場合は、次のように、いくつかの色設定メソッドを呼び出してDefaultTreeCellRenderer、ツリーの色を変更できます。

tree = new JTree(root);
if (tree.getCellRenderer() instanceof DefaultTreeCellRenderer)
{
    final DefaultTreeCellRenderer renderer = 
        (DefaultTreeCellRenderer)(tree.getCellRenderer());
    renderer.setBackgroundNonSelectionColor(Color.YELLOW);
    renderer.setBackgroundSelectionColor(Color.ORANGE);
    renderer.setTextNonSelectionColor(Color.RED);
    renderer.setTextSelectionColor(Color.BLUE);
}
else
{
    System.err.println("Sorry, no special colors today.");
}
于 2010-03-06T23:48:46.453 に答える
-1

JTreeJComponentたとえば、からカラーメソッドを継承しますsetBackground。たとえばここを参照してください

于 2010-03-04T13:08:20.877 に答える