当前位置: 首页 > 面试题库 >

如何在Jtree中刷新XML

锺功
2023-03-14
问题内容

我在这里阅读,但是如果xml文件更改,jtree不会重新加载/ refreshes
如何创建刷新/重新加载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


问题答案:

我添加了一个新的Action,以popupgetJPopupForExplorerTree()。您可能需要xmlFileXMLTree构造函数中重构出来;为了方便起见,我已经对其进行了硬编码:

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);
        }
    }
});


 类似资料:
  • 我有一棵树,上面有一个JButton作为节点。 我希望能够在两组值之间切换按钮名称及其调用的方法。 我认为这将工作正常,如果树将刷新后,每次按钮点击。 这种方法似乎有效,但它会在刷新时将树折叠,我需要树保持打开状态。 我没有添加/删除节点,所以我在网上看到的许多其他方法都不适用。

  • 刷新JTree实例时出现问题。请参见以下代码: 如果我们运行这段代码,并展开“根”节点。我们将在其中看到4个节点。如果我们单击按钮“重建”,树将不会更新它的自。奇怪的是,如果我们在开始时不展开“根”节点(所以只是启动应用程序)并单击按钮,之后我们展开“根”节点,新行被添加。有人知道如何在不崩溃的情况下刷新这棵树吗,因为当你在开始时展开“根”节点时,nodeChanged似乎不起作用。 注意:我必须

  • 问题内容: 我将JTree与TreeNode一起使用,它扩展了DefaultMutableTreeNode。当我添加新节点时,我无法更新JTree。任何帮助将不胜感激 问题答案: 仅添加到节点还不够,需要通知树。正确的方法是让模型负责添加/删除节点,因为它将在途中正确通知Tree。 如果使用DefaultTreeModel(如果尚未创建自己的TreeModel,则应该是JTree中使用的那个),则

  • 当我单击一个按钮(刷新页面中的数据,释放缓存)主页时,我想刷新页面我的主页中有一个列表。有一个功能可以更改列表上的项目。但当我更改项目并重定向到主页时,它会显示以前的值,直到刷新页面为止,我只想在按下按钮时刷新(清除主页上的缓存)。控制器处于$状态。go(“应用程序订阅”) 我写了这个。如何更改它?

  • 问题内容: 首先,让我说我不使用DefaultTreeModel。我实现了自己的TreeModel,所以无法使用DefaultXXX。问题是这样的:通过我的模型定义的一些addStuff()方法,我将节点添加到基础数据结构中。然后,我通过在addStuff()函数内调用treeNodesChanged()来通知侦听器(我知道有treeNodesInserted方法,但这是同一回事。它只是用不同的方

  • 问题内容: 我正在使用swift构建RSS阅读器,并且需要实现pull来重新加载功能。 这是我试图做到的方式。 我正进入(状态 : super.init调用未初始化属性“ self.refresh” 请帮助我了解手势识别器的行为。一个有效的示例代码将有很大的帮助。 谢谢。 问题答案: 拉动刷新 是iOS内置的。你可以像这样迅速 在某些时候,您可能会刷新。