Часть текста должна быть выделена жирным шрифтом в jList - PullRequest
2 голосов
/ 10 января 2011

могу ли я установить часть текста в jList, выделенном жирным шрифтом?

в каком-то компоненте я могу установить текст с html-метками на жирный, но не здесь ... есть ли другой способ сделать это?..

Ответы [ 3 ]

4 голосов
/ 10 января 2011

Вы должны быть в состоянии связать с ListCellRenderer.Так как DefaultListCellRenderer расширяет JLabel, я ожидаю, что в HTML будет какой-то способ вклиниваться, который передается при использовании по умолчанию.

4 голосов
/ 10 января 2011

Шрифт по умолчанию выделен жирным шрифтом для 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 , демонстрирующий проблему.

2 голосов
/ 10 января 2011

Вы уже пытались создать настраиваемое средство отображения ячеек списка? Если нет, вы можете попробовать. Учебники покажут вам, как. Пожалуйста, посмотрите здесь:

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

...