Отключите разбор HTML в JComboBox.addItem (o) - PullRequest
0 голосов
/ 26 мая 2009

Я ищу способ отключить разбор 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, и тег не отображается в списке. </p>

Ответы [ 2 ]

1 голос
/ 26 мая 2009

Я полагаю, что любое из следующих двух утверждений сделает это:

highlight.putClientProperty("html.disable", true);  

highlight.putClientProperty(
    javax.swing.plaf.basic.BasicHTML.propertyKey, null
);  

Если вы где-то централизованно создаете и настраиваете компоненты, возможно, вы захотите установить его для всех. Дизайн HTML-текста в компонентной поддержке не очень хороший.

0 голосов
/ 26 мая 2009

Используйте «& lt;» вместо «<» и (возможно) оберните его в HTML. ;) </p>

<html>&lt;html></html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...