Как обновить HtmlDisplayName на абстрактном узле NetBeans - PullRequest
0 голосов
/ 22 июня 2010

Я работаю на платформе NetBeans 6.7

У меня есть простой BeanTreeView для отображения некоторых узлов. Все они начинаются с обычного текста, и я хочу изменить некоторые из них на жирный и / или подчеркивание в ответ на события в программном обеспечении.

Проблема в том, что я не вижу, как заставить дерево обновлять отображение узлов.

Я могу вызвать AbstractNode.setName (), что позволит мне изменить имя, но не будет поддерживать жирный тэг.

Я могу изменить результат getHtmlDisplayName () для включения жирных тегов. Но тогда мне нужно перекрасить узел - как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Вы можете сделать это изнутри вашего абстрактного узла (в PropertyChangeListener или аналогичном, который забирает изменение)

fireDisplayNameChange("", getDisplayName());

Это обойдет проверку, чтобы увидеть, изменилось ли отображаемое имя! Просто убедитесь, что у вас есть код для изменения HTML в вашем getHtmlDisplayName() методе

0 голосов
/ 24 июня 2010

Хорошо. Похоже, я толстый.

Я могу позвонить Node.setDisplayName () на узле, и Node.getHtmlDisplayName () будет автоматически вызываться в результате - пока я фактически изменился строка DisplayName - если я вызову setDisplayName () с той же строкой, что и раньше, то ничего не произойдет.

0 голосов
/ 23 июня 2010

Я могу обойти свою проблему, если перестану кэшировать AbstractNode s;когда я хочу обновить HtmlDisplayName () экземпляра AbstractNode , я должен создать замещающий узел.

Невозможно просто обновить существующий узел и обновить его.

...