「javatree控件」jstree树控件

博主:adminadmin 2023-03-18 06:15:05 466

本篇文章给大家谈谈javatree控件,以及jstree树控件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java的JTree的使用方法,

JTree组件被用来以树的形式显示数据,一层套一层,看起来清晰明了,使用户很方便地就了解到各个节点之间的层次关系,可以很容易地找到相关的数据。

例如 Windows 系统的文件管理器,它就是一个典型的树层次结构。

JTree的构造函数:

·JTree() 建立一棵默认的树。

·JTree(Hashtable data) 利用Hashtable建立树。

·JTree(Object[] data) 利用数组建立树。

·JTree(TreeModel model) 利用TreeModel建立树。

·JTree(TreeNode root) 建立以root为根的树。

·JTree(TreeNode root,Boolean children) 建立以 root 为根的树,并设定是否允许有子节点。

·JTree(Vector value) 利用Vector建立树。

使用一个JTree可以简单地像下面这样表示:

import javax.swing.JFrame;

import javax.swing.JTree;

import javax.swing.event.TreeSelectionEvent;

import javax.swing.event.TreeSelectionListener;

import javax.swing.tree.DefaultMutableTreeNode;

 

public class TreeDemo {

    public static void main(String[] args) {

 

        // 创建没有父节点和子节点、但允许有子节点的树节点,并使用指定的用户对象对它进行初始化。

        // public DefaultMutableTreeNode(Object userObject)

        DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("软件部");

        node1.add(new DefaultMutableTreeNode(new User("小花")));

        node1.add(new DefaultMutableTreeNode(new User("小虎")));

        node1.add(new DefaultMutableTreeNode(new User("小龙")));

 

        DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("销售部");

        node2.add(new DefaultMutableTreeNode(new User("小叶")));

        node2.add(new DefaultMutableTreeNode(new User("小雯")));

        node2.add(new DefaultMutableTreeNode(new User("小夏")));

 

        DefaultMutableTreeNode top = new DefaultMutableTreeNode("职员管理");

 

        top.add(new DefaultMutableTreeNode(new User("总经理")));

        top.add(node1);

        top.add(node2);

        final JTree tree = new JTree(top);

        JFrame f = new JFrame("JTreeDemo");

        f.add(tree);

        f.setSize(300, 300);

        f.setVisible(true);

        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 添加选择事件

        tree.addTreeSelectionListener(new TreeSelectionListener() {

 

            @Override

            public void valueChanged(TreeSelectionEvent e) {

                DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree

                        .getLastSelectedPathComponent();

 

                if (node == null)

                    return;

 

                Object object = node.getUserObject();

                if (node.isLeaf()) {

                    User user = (User) object;

                    System.out.println("你选择了:" + user.toString());

                }

 

            }

        });

    }

}

 

class User {

    private String name;

 

    public User(String n) {

        name = n;

    }

 

    // 重点在toString,节点的显示文本就是toString

    public String toString() {

        return name;

    }

}

如何用JAVA做TreeView实现动态加载节点

其实,tree由两部分组成,一个root(根节点),n个node,你先定义一个root节点,然后加载数据循环迭代生成N个node,将root.add(node)就可以了啊。无论后台还是前台的tree都是这样子的。

如果是控件的话,可能只要数据源就可以了。

如何为treenodes控件添加自定义属性

自定义控件中自定义属性的定义和使用方式。

第一步当然是自定义类EditTextNoEmoji继承EditText,同时重写三个构造方法。这里需要注意的是,三个构造方法中必须分别实现父类对应的构造方法,就是三个super();而不能出现调用当前类的不同参数的另一个构造方法的形式,就是不能出现this()。否则的话,这个控件在实际使用时是获得不到焦点的,似乎是由于EditText继承TextView的原因,具体原因待查。

谈谈这三个构造方法的区别,一参的构造EditTextNoEmoji(Context context),是在使用的java文件中动态生成时调用,两参的构造EditTextNoEmoji(Context context, AttributeSet attrs),是在使用的xml文件中静态生成时调用,三参的构造基本不会使用,暂且不讨论。而两参构造中的第二个参数attrs,正是我们要自定义的属性,所以在该方法中调用setAttrs(context, attrs)设置xml文件中使用到的自定义属性。

第二步需要声明自定义属性控制是否禁止输入表情,同时为了方便该控件在使用时的xml布局中配置该属性,要先在res/values/styles.xml中自定义属性名称。自定义属性的styleable名称必须是和自定义控件的类名保持一致的,在这个样式下可以添加任意的自定义属性,如下代码,添加了一个boolean类型的属性,名称为canInputEmoji。另外可以添加的属性类型包括 color,boolean,dimension,enum,flag,float,fraction,integer,reference,string等十种。

关于javatree控件和jstree树控件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。