我使用DefaultListCellRenderer
来渲染一个字符串数组(它实际上不是一个字符串数组,它只是为了解释我的问题)。 getListCellRendererComponent
函数采用数组,必须以粗体显示该数组的元素。我目前的想法是使用Html标签(如<b>theElement</b>
),但我读过这不是一个好习惯。下面的代码是我目前的想法。
if (value instanceof ArrayList) {
ArrayList<String> al = (ArrayList<String>) value
String s = "<html><b>" + al.get(0) + "</b></html>\n";
al.remove(0);
for(String c : al)
s += c + "\n";
setText(s);
答案 0 :(得分:1)
你可以在JList中使用HTML,我不知道为什么这是一个不好的做法 - 除非用户选择一行,你现在正在检查所选项是<b>thing</b>
而不是只是thing
。但是如果你在选择的列表项上做了比字符串比较更好的事情,这应该不是问题。
如果您正在使用DefaultListCellRenderer
,这是我知道您可以将项目的某些部分变为粗体的唯一方式。