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

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

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

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


person Swoop    schedule 29.03.2013    source источник


Ответы (1)


Вы можете добавить прослушиватель tree-will-expand с помощью 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 для некоторых Примеры.

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

person tenorsax    schedule 29.03.2013
comment
Фантастика! Большое тебе спасибо! - person Swoop; 01.04.2013