Изменение размера имени узла JTree при динамическом добавлении значка после создания дерева
В моем коде, в зависимости от условия, JTree
узел может иметь или не иметь Icon
, Моя проблема, когда я хочу установить Icon
для узла размер имени узла уменьшается и добавляется "...".
Таким образом, в основном, узел пересчитывает свой размер на основе размера иконки и подгоняет остальные.
Как я могу предотвратить это поведение и разрешить узлу увеличивать свой размер при добавлении значка?
Вот скриншот без / со значком:
1 ответ
Не знаю, где вы это делаете, но подозреваете, что вы делаете это под ногами TreeModel: LayoutCache делает много... ну... кэширование размеров, поэтому вы должны убедиться, что он делает этот кеш недействительным. Единственный способ сделать это - через TreeModelEvents, что-то вроде (при условии, что модель имеет тип DefaultTreeModel):
myNodeData.setIcon(...);
treeModel.nodeChanged(node);