Java JTree:如何获取一片叶子的文本?

Java JTree:如何获取一片叶子的文本?,java,swing,jtree,Java,Swing,Jtree,我想以以下格式获取JTree的文本: 根 节点1 叶1 leaf2这里有一个简单的例子: import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener;

我想以以下格式获取JTree的文本:

  • 节点1
  • 叶1

  • leaf2这里有一个简单的例子:

    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JScrollPane;
    import javax.swing.JTree;
    import javax.swing.event.TreeSelectionEvent;
    import javax.swing.event.TreeSelectionListener;
    import javax.swing.tree.DefaultMutableTreeNode;
    
    
    public class TestFrame extends JFrame {
    
        private JLabel lbl;
        private JTree tree;
    
        public TestFrame() {
            init();
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            pack();
            setLocationRelativeTo(null);
            setVisible(true);
        }
    
        private void init() {
            tree = new JTree();
            tree.getSelectionModel().addTreeSelectionListener(getListener());
    
            lbl = new JLabel("empty");
    
            add(new JScrollPane(tree));
            add(lbl,BorderLayout.EAST);
        }
    
        private TreeSelectionListener getListener() {
            return new TreeSelectionListener() {
    
                @Override
                public void valueChanged(TreeSelectionEvent e) {
                    DefaultMutableTreeNode node = (DefaultMutableTreeNode)  tree.getLastSelectedPathComponent();
                    lbl.setText(node == null ? "empty" : node.toString());
                }
            };
        }
    
        public static void main(String args[]) {
            new TestFrame();
        }
    
    }
    
    阅读更多信息。

    将a添加到
    JTree
    ,当所选节点更改时,它将发出通知,您可以使用从中提取事件的详细信息。请仔细查看以了解更多详细信息