Java如何更改JTree中选定节点的颜色?

本示例说明如何更改JTree组件的所选节点的颜色。它显示了如何设置节点背景色,字体颜色和选定的节点边框颜色。

为此,您需要DefaultTreeCellRenderer从JTree实例获取对象并修改节点的选择颜色。

package org.nhooo.example.swing;

import javax.swing.*;

import javax.swing.tree.DefaultMutableTreeNode;

import javax.swing.tree.DefaultTreeCellRenderer;

import java.awt.*;

public class JTreeTextSelectionColorDemo extends JFrame {

    public JTreeTextSelectionColorDemo() throws HeadlessException {

        initializeUI();

    }

    private void initializeUI() {

        setSize(150, 300);

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        DefaultMutableTreeNode root = new DefaultMutableTreeNode("Department");

        DefaultMutableTreeNode book = new DefaultMutableTreeNode("Books");

        DefaultMutableTreeNode fiction = new DefaultMutableTreeNode("Fictions");

        DefaultMutableTreeNode science = new DefaultMutableTreeNode("Sciences");

        DefaultMutableTreeNode text = new DefaultMutableTreeNode("Text Books");

        DefaultMutableTreeNode children = new DefaultMutableTreeNode("Children");

        root.add(book);

        book.add(fiction);

        book.add(science);

        book.add(text);

        book.add(children);

        JTree tree = new JTree(root);

        // 获取JTree的DefaultTreeCellRenderer实例

        //零件。然后我们自定义选择的颜色

        // 节点使用蓝色背景,白色字体颜色和黑色

        // 边境。

        DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree.getCellRenderer();

        renderer.setTextSelectionColor(Color.white);

        renderer.setBackgroundSelectionColor(Color.blue);

        renderer.setBorderSelectionColor(Color.black);

        JScrollPane pane = new JScrollPane(tree);

        pane.setPreferredSize(new Dimension(150, 300));

        getContentPane().add(pane);

    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                new JTreeTextSelectionColorDemo().setVisible(true);

            }

        });

    }

}

                       

以上是 Java如何更改JTree中选定节点的颜色? 的全部内容, 来源链接: utcz.com/z/326326.html

回到顶部