我读了 here,但是如果xml文件更改,则jtree不会重新加载/刷新
如何创建刷新/重新加载Jtree的功能
我尝试编写代码:

refreshAction = new AbstractAction("Refresh", IconFactory.getIcon("delete", IconFactory.IconSize.SIZE_16X16)) {
public void actionPerformed(ActionEvent e) {
    XMLTree xmlClass = null;
    ((DefaultTreeModel) xmlClass.getModel()).reload();
    System.out.println("Refresh");
}};

但我收到错误:java.lang.NullPointerException

最佳答案

我在Actionpopup中添加了一个新的getJPopupForExplorerTree()。您可能需要从xmlFile构造函数中重构XMLTree;为了方便起见,我已经对其进行了硬编码:

popup.add(new AbstractAction("Reload") {

    public void actionPerformed(ActionEvent e) {
        System.out.println("Reload");
        try {
            root = getRoot("xml.xml");
            setModel(new XMLTreeModel(root));
        } catch (Exception ex) {
            ex.printStackTrace(System.err);
        }
    }
});

10-04 21:08