我有一个JTree和一个JTextField。当我在树上选择一个节点时,文本字段将显示该节点的值。然后,我可以编辑文本并将其保存以更改所选节点的值。我使用DefaultTreeModel的nodeChanged方法来更新树。
这是告诉树模型更新其节点的正确方法吗?在我看来,这很丑陋,因为我明确地访问了树的模型并告诉它发生了什么事。
这是一些代码
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.ScrollPaneConstants;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
public class TextPaneTest extends JFrame {
private JTextField textBox = null;
private JTree tree = null;
private JButton button = null;
public static void main(String args[]) {
new TextPaneTest();
}
public TextPaneTest() {
// Main panel
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout()); …Run Code Online (Sandbox Code Playgroud)