gpt4 book ai didi

java - 是否有必要在DefaultTreeModel中调用nodesWereInserted()和类似方法?

转载 作者:行者123 更新时间:2023-11-30 04:06:01 26 4
gpt4 key购买 nike

DefaultTreeModel ,您可以使用 insertNodeInto() 方法插入节点。但是,我注意到还存在 nodesWereInserted() 方法,该方法具有以下非常简洁的 Javadoc:

Invoke this method after you've inserted some TreeNodes into node.

我觉得很奇怪,这是一个公共(public)方法。我希望如果它要向监听器触发 ChangeEvents,它应该是由 insertNodeInto() 调用的私有(private)方法。似乎调用一个方法来通知另一个方法调用的更改与 Java Swing 的设计方式有些不一致(当我将元素添加到JComboBox)。

但我发现在我的代码中,如果在 insertNodeInto() 之后调用 nodesWereInserted() 并不重要。无论哪种方式,结果都与将节点添加到树中并显示在 GUI 中相同。

有人可以解释一下是否有必要在 DefaultTreeModel 中调用 nodesWereInserted() 和类似方法吗?如果是这样,为什么?它能做什么 insertNodeInto() 无法单独完成的事情?

最佳答案

你不需要自己调用它。正如 EJP 所说,每次插入节点时都会调用它。您可以在派生类中重写此函数,以便在插入节点时收到信号。

如果你没有自己的派生类,那么你只需添加一个 TreeModellistener 即可。

关于java - 是否有必要在DefaultTreeModel中调用nodesWereInserted()和类似方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com