Как да отпечатате част от елемент с удебелен шрифт с 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);

person Hunsu    schedule 07.03.2014    source източник


Отговори (1)


Можете да използвате HTML в JList и не знам защо това би било лоша практика - освен ако когато потребителят избере ред, вие сега проверявате дали избраният елемент е <b>thing</b>, а не само thing. Но ако правите нещо по-добро от сравняване на низове на избраните елементи от списъка, това не би трябвало да е проблем.

Ако използвате DefaultListCellRenderer, това е единственият начин, който знам, че можете да направите част от елемент получер.

Вижте също Могат ли елементите в JList да бъдат форматирани като HTML

person David Koelle    schedule 07.03.2014
comment
Добре ще направя така! - person Hunsu; 07.03.2014