我有一个 JList 并且在该列表中,我想更改以下单词的字体颜色。
有人说我必须使用 CellRenderer,但我还不熟悉。
现在,我的问题是如何设置这个渲染器来改变字体的颜色?
对这件事有任何想法吗?
谢谢...
我有一个 JList 并且在该列表中,我想更改以下单词的字体颜色。
有人说我必须使用 CellRenderer,但我还不熟悉。
现在,我的问题是如何设置这个渲染器来改变字体的颜色?
对这件事有任何想法吗?
谢谢...
查看JavaDoc,它可能正好有您需要的内容(顶部的示例)。基本上,您只需返回一个具有已配置字体颜色的组件(如 JLabel)。
编辑:由于您希望单词的颜色与其定义不同,这里有两种可能性如何使用列表单元格渲染器完成:
<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
的a ,在这里JList
演示,在这里,通过使用prepareRenderer,因为JList有很多限制/遗漏的方法作为JTable