繁体   English   中英

如何使用JList以粗体显示项目的一部分

[英]How to print a part of an item in bold with JList

我使用DefaultListCellRenderer渲染字符串数组(它实际上不是字符串数组,仅用于解释我的问题)。 getListCellRendererComponent函数采用一个Array,并且必须以粗体显示该数组的元素。 我目前的想法是使用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);

您可以在JList中使用HTML,但我不知道为什么这是一个不好的做法-除非当用户选择一行时,您现在要检查所选项目是否是<b>thing</b>而不是公正的thing 但是,如果您要比对选定列表项进行字符串比较做得更好,那么这应该不是问题。

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

另请参见JList中的项目可以格式化为HTML吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM