【问题标题】:JTree: how to get the text of one leaf? [closed]JTree:如何获取一片叶子的文本? [关闭]
【发布时间】:2014-11-21 01:43:33
【问题描述】:

我想获取格式为 JTree 的文本:

  1. 节点1
  2. 叶子1
  3. leaf2
  4. 节点2

当我点击叶子时,我会在 JPanel 中留下信息

【问题讨论】:

标签: java swing jtree


【解决方案1】:

这是一个简单的例子:

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

}

tutorial阅读更多内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多