DefaultTreeModelでは、メソッドを使用してノードを挿入できますinsertNodeInto()
。nodesWereInserted()
ただし、この非常に簡潔な Javadoc を持つメソッドも存在することに気付きました。
いくつかの TreeNode をノードに挿入した後で、このメソッドを呼び出します。
これがパブリックメソッドであることは非常に奇妙です。リスナーに対して ChangeEvents を起動する場合、それは によって呼び出されるプライベート メソッドである必要がありinsertNodeInto()
ます。別のメソッドによって呼び出された変更を通知するためにメソッドを呼び出すことは、Java Swing の設計方法と多少矛盾しているようです ( elementIsInserted()
JComboBox に要素を追加するときにメソッドを呼び出しません)。
nodesWereInserted()
しかし、私のコードでは、 afterを呼び出しても問題ないことがわかりましたinsertNodeInto()
。どちらの方法でも、ノードがツリーに追加されて GUI に表示され、結果は同じになります。
nodesWereInserted()
DefaultTreeModelで同様のメソッドを呼び出す必要があるかどうかを誰かが説明してもらえますか? もしそうなら、なぜですか?insertNodeInto()
単独ではできないことは何ですか?