如何设置字体的颜色



我有一个JList,在这个列表中,我想改变下面单词的字体颜色。

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

现在,我的问题是如何设置这个渲染器来改变字体的颜色?

对这件事有什么想法吗?

谢谢…

查看JavaDoc,它可能正好有您需要的东西(顶部的示例)。基本上,您只需返回一个组件(如JLabel),并配置字体颜色。

编辑:因为你想让单词的颜色不同于它们的定义,这里有两种可能的方法可以用列表单元格渲染器来完成:

  1. 返回一个包含2个jlabel的JPanel,一个包含单词,一个包含定义。两个标签可以有不同的前景色。
  2. JLabel支持HTML(像其他Swing组件一样),因此您可以将标签的文本设置为<html><font color=red>your word</font> - your definitions</html>。请注意,默认的前景色应该是定义的颜色,或者您也可以用<font>标记包装定义。看看这个教程。

对于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,在这里演示,在这里,通过使用preperenderer,因为JList有很多限制/遗漏的方法作为JTable

相关内容

  • 没有找到相关文章

最新更新