Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置字体的颜色?_Java_Swing_Jlist_Listcellrenderer - Fatal编程技术网

Java 如何设置字体的颜色?

Java 如何设置字体的颜色?,java,swing,jlist,listcellrenderer,Java,Swing,Jlist,Listcellrenderer,我有一个JList,在该列表中,我想更改以下单词的字体颜色 有人说我必须使用CellRenderer,但我还不熟悉 现在,我的问题是如何设置此渲染器以更改字体的颜色 你知道这件事吗 谢谢…请查看,它可能正好满足您的需要(顶部的示例)。基本上,您只需返回具有配置字体颜色的组件(如JLabel) 编辑:由于您希望单词的颜色与其定义不同,因此有两种可能的方法可以使用列表单元格渲染器进行编辑: 返回一个包含2个jlabel的JPanel,一个包含单词,一个包含定义。两个标签可以具有不同的前景色 JLab

我有一个JList,在该列表中,我想更改以下单词的字体颜色

有人说我必须使用CellRenderer,但我还不熟悉

现在,我的问题是如何设置此渲染器以更改字体的颜色

你知道这件事吗

谢谢…

请查看,它可能正好满足您的需要(顶部的示例)。基本上,您只需返回具有配置字体颜色的组件(如JLabel)

编辑:由于您希望单词的颜色与其定义不同,因此有两种可能的方法可以使用列表单元格渲染器进行编辑:

  • 返回一个包含2个jlabel的JPanel,一个包含单词,一个包含定义。两个标签可以具有不同的前景色
  • JLabel支持HTML(与其他Swing组件一样),因此您可以将标签的文本设置为
    your word-your definitions
    。请注意,默认的前景色应该是定义的前景色,或者您也可以使用
    标记包装定义。看看这个

  • 对于
    JLabel
    组件,请尝试:

        new DefaultListCellRenderer(){
            @Override
            public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus ) { 
                JLabel label = (JLabel)super.getListCellRendererComponent( list, value, index, isSelected, cellHasFocus );
                label.setForeground( Color.RED );
                return label;
            }  
        };
    

    考虑……,使用
    JTable
    TableColumn
    一起使用,而不使用
    TableHeader
    ,如
    JList
    所示,这会更好,因为有很多限制/遗漏的方法,如

    -1,用于过于复杂;-)问题显然是关于JList的,配置其单元格外观的方法是。。好。。。自定义渲染器实现。我很高兴@Andrew Thompson今天从您那里得到了它:-)建议始终打开一个选项卡-并快速阅读如何使用xx章节(xx是您还不知道的组件:-)是否可以在列表中的一个JLabel中使用两种不同的颜色?我的Jlist中有一个单词列表,每个单词旁边都有它们的定义。我希望单词的字体颜色与其定义不同。我的问题是,有可能在一个Jlist中有两种不同的颜色吗?我的Jlist中有一个单词列表,每个单词旁边都有它们的定义。我希望单词的字体颜色与其定义不同。我的问题是,有可能在一个Jlist中有两种不同的颜色吗?我的Jlist中有一个单词列表,每个单词旁边都有它们的定义。我希望单词的字体颜色与其定义不同。我的问题是,是否可能在一个Jlist中有两种不同的颜色?@Mikel是的,这是可能的。我将添加两种可能性。