2

我可以在 jList 粗体中设置部分文本吗?

在某些组件中,我可以将带有 html-marks 的文本设置为粗体,但不是在这里.. 有没有其他方法可以做到这一点?..

4

3 回答 3

4

您应该能够绑定到ListCellRenderer. 由于DefaultListCellRendererextends JLabel,我希望有一些方法可以插入在默认用法中被忽略的 HTML。

于 2011-01-10T03:05:48.923 回答
4

JList(在 Metal LAF 中)的默认字体为粗体。因此,您首先需要更改默认字体,然后将您的 HTML 字符串添加到 ListModel 以仅将您希望以粗体显示的文本加粗。就像是:

String[] items = { "one", "<html>normal <b>bold</b> normal</html>" };
JList list = new JList( items );
list.setFont( list.getFont().deriveFont(Font.PLAIN) );

如果您有问题,请发布您的SSCCE 以证明该问题。

于 2011-01-10T03:42:25.180 回答
2

您是否尝试过创建自定义列表单元格渲染器?如果没有,您不妨试一试。教程将向您展示如何操作。请看这里:

http://download.oracle.com/javase/tutorial/uiswing/components/list.html

http://download.oracle.com/javase/tutorial/uiswing/components/list.html#renderer

http://download.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer

于 2011-01-10T03:04:01.517 回答