永发信息网

jtree设置字体颜色

答案:1  悬赏:10  手机版
解决时间 2021-02-16 05:43
jtree设置字体颜色
最佳答案
JTree ,JTabel, JComboBox 等swing组件 ,
可以使用渲染器Renderer来改变默认的现实的效果,
还提供编辑器Editor来改变 编辑时的效果
当然了需要写一个自己的渲染器和编辑器,然后设置给组件才可以实现
  • JTree的渲染器 可以自定义一个MyNodeRenderer继承自DefaultTreeCellRenderer 来实现
    简单的参考代码如下
    mport java.awt.*;
    import javax.swing.*;
    import javax.swing.tree.DefaultTreeCellRenderer;

    public class TreeFrame extends JFrame {
    JTree jtree;

    public TreeFrame() {
    jtree = new JTree();
    jtree.setCellRenderer(new MyNodeRenderer());
    add(jtree);

    // 窗口属性的设置
    setTitle("窗口");// 窗口标题
    setSize(300, 300);// 窗口宽 高
    setLocationRelativeTo(null);// 窗口居中(屏幕中央)
    setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗口右上角的按钮时结束程序
    }

    public static void main(String[] args) {
    new TreeFrame().setVisible(true);// 实例化并可见
    }

    //关键是继承DefaultTreeCellRenderer
    class MyNodeRenderer extends DefaultTreeCellRenderer {
    //重写getTreeCellRendererComponent的方法
    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
    boolean leaf, int row, boolean hasFocus) {
    super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
    setForeground(Color.BLUE);// 设置文字的颜色
    setBackgroundSelectionColor(Color.ORANGE);// 设置选中时的背景色
    setBackgroundNonSelectionColor(Color.WHITE);// 设置没选中时的背景色

    return this;
    }
    }

    }如果需要更复杂的效果,可以深入了解DefaultTreeCellRenderer
  • 我要举报
    如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
    大家都在看
    大江路/沧江道(路口)在哪里啊,我有事要去这
    遗憾的意思和拼音
    JAVA小程序 1,求半径为7的圆的面积 2,有底有
    乌龟为什么会长壳?
    学业余的动漫设计与制作能找些什么工作?
    崇州市廖家镇龙岗药店我想知道这个在什么地方
    襄城区襄樊襄阳平价商店(檀溪店)地址在什么地
    iOS六发左轮怎么修改才不会被封号?GL是靠什
    用邮政速递寄10斤的东西多少钱
    英国《权利法案》颁布以后,当时的国王威廉三
    28岁就赚了几百万的成功男人,会沦落到在网上
    湖滨区屈臣氏(三门峡湖滨时代百货店)在哪里啊
    电脑主机有电但就是打不开
    一个验电器带有少量正电荷,金属箔张开一定角
    甘塘镇在哪里啊,我有事要去这个地方
    推荐资讯
    小鬼遇到兵电影中的丑女叫什么
    大姨子叫我帮她修脚趾,我能做这事吗?(我男
    广西钦州市强兴机械厂地址有知道的么?有点事
    考研英语考口语吗
    长期戴眼镜会压塌鼻子吗
    【浅忆】浅忆是什么意思
    永兴县郴州乐购商行在哪里啊,我有事要去这里
    我下载刷机大师并下载了rom,为什么显示暂不
    当阳市宜昌古筝世家培训地址在什么地方,想今
    息县信阳谯楼办事处残疾人联合会地址在哪里啊
    已知大径1.28长度9.5角度3 求小径.请把计算公
    柏太阳神是做什么的
    正方形一边上任一点到这个正方形两条对角线的
    阴历怎么看 ?