java - jtree 程序化多选

标签 java swing user-interface jtree

是否能够以编程方式在 JTree 中选择多个树节点? 我通过 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);

设置了多选模式

我只需要 - 让我的应用程序能够以编程方式选择一些节点。但我还没有找到如何做到这一点的方法。任何人都可以建议如何解决这个问题吗?

谢谢

最佳答案

import java.awt.Dimension;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;

public class TreeWithMultiDiscontiguousSelections {

    public static void main(String[] argv) {
        JTree tree = new JTree();
        tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
        int treeSelectedRows[] = {3, 1};
        tree.setSelectionRows(treeSelectedRows);
        TreeSelectionListener treeSelectionListener = new TreeSelectionListener() {

            @Override
            public void valueChanged(TreeSelectionEvent treeSelectionEvent) {
                JTree treeSource = (JTree) treeSelectionEvent.getSource();
                System.out.println("Min: " + treeSource.getMinSelectionRow());
                System.out.println("Max: " + treeSource.getMaxSelectionRow());
                System.out.println("Lead: " + treeSource.getLeadSelectionRow());
                System.out.println("Row: " + treeSource.getSelectionRows()[0]);
            }
        };
        tree.addTreeSelectionListener(treeSelectionListener);
        JFrame frame = new JFrame("JTree With Multi-Discontiguous selection");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new JScrollPane(tree));
        frame.setPreferredSize(new Dimension(380, 320));
        frame.setLocation(150, 150);
        frame.pack();
        frame.setVisible(true);
    }

    private TreeWithMultiDiscontiguousSelections() {
    }
}

关于java - jtree 程序化多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6985255/

相关文章:

java - Log4j 文件附加程序每 X 分钟滚动一次

java - 如何在不延迟界面的情况下延迟 gui 的操作?

android - AutoLayout对处理iOS屏幕大小的 fragment 有用吗?为什么Android中没有等效的工具?

java - 读取和写入文本文件时的错误

java - 如何将应用程序构建为多个项目以及如何在 Java 中命名包?

java - 正则表达式多次匹配字符串

javascript - appcelerator titan -TableViewRow selectedBackgroundColor 去除圆 Angular

swing - 单击 JButton 时 ViewPart 挂起

java - WatchService 和 SwingWorker : how to do it correctly?

multithreading - 工作线程无法更新 Motorola V3 上的 UI