Как я могу предотвратить разрушение корневого узла JXTreeTable?

Чтобы предотвратить JTree узел рушится, вы можете использовать setExpandedState() метод.

Я не вижу аналогичного метода для SwingX JXTreeTable класс, и кажется, что JXTreeTable не распространяется JXTree (который расширяет JTree).

Любые предложения относительно того, как я могу предотвратить разрушение корневого узла на JXTreeTable?

1 ответ

Решение

Вы можете добавить обработчик дерева с расширением с помощью addTreeWillExpandListener() чтобы предотвратить расширение или свертывание узла дерева.

Например, чтобы предотвратить разрушение:

treeTable.addTreeWillExpandListener(new TreeWillExpandListener() {
    public void treeWillExpand(TreeExpansionEvent e)
            throws ExpandVetoException {
    }

    public void treeWillCollapse(TreeExpansionEvent e)
            throws ExpandVetoException {
        throw new ExpandVetoException(e);
    }
});

Посмотрите, Как Написать Tree-Will-Expand Listener для некоторых примеров.

JXTreeTable также есть набор методов для свертывания и расширения узлов дерева: expandPath(), expandAll(), collapsePath() а также collapseAll(), Может быть, они могут быть полезны.

Другие вопросы по тегам