我读了
here,但是如果xml文件发生了变化,jtree就不会重新加载/刷新
如何创建一个刷新/重新加载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
我在getJPopupForExplorerTree()中添加了一个新的Action来弹出.你可能想要从XMLTree构造函数中重新考虑xmlFile;我在下面为了方便而硬编码:
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); } } });