如何使用JList以粗体打印项目的一部分

时间:2014-03-07 18:08:48

标签: java jlist

我使用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);

1 个答案:

答案 0 :(得分:1)

你可以在JList中使用HTML,我不知道为什么这是一个不好的做法 - 除非用户选择一行,你现在正在检查所选项是<b>thing</b>而不是只是thing。但是如果你在选择的列表项上做了比字符串比较更好的事情,这应该不是问题。

如果您正在使用DefaultListCellRenderer,这是我知道您可以将项目的某些部分变为粗体的唯一方式。

另见Can Items in a JList be formatted as HTML