Отключите разбор HTML в JComboBox.addItem(o)
Я ищу способ отключить разбор HTML метода addItem() в JComboBox().
JComboBox jHighlight = new JComboBox();
for (int i = 0; i < tl.size(); i++) {
//getTagname() returns a string like "br", "a", "body" or "html"
jHighlight.addItem("<" + tl.get(i).getTagname() + ">");
}
Вывод в JComboBox будет выглядеть так:
<a>
<br>
<body>
//notice the blank space where <html> should be
<link>
<meta>
Таким образом, проблема в том, что html-тег анализируется, так как я добавляю знак <перед ним, как я могу обойти это? Вместо этого я попытался использовать "\ u003C", но он все равно анализируется как html, и тег не отображается в списке.
2 ответа
Я полагаю, что любое из следующих двух утверждений сделает это:
highlight.putClientProperty("html.disable", true);
highlight.putClientProperty(
javax.swing.plaf.basic.BasicHTML.propertyKey, null
);
Если у вас есть центральное место, где вы создаете и настраиваете компоненты, вы можете рассмотреть возможность его установки для всех. Дизайн HTML-текста в компонентной поддержке не очень хорош.
Используйте "& lt;" вместо "<" и (возможно) оберните его в HTML.;)
<html><html></html>