Search in sources :

Example 1 with SelectableTreeNode

use of com.github.weisj.darklaf.components.SelectableTreeNode in project darklaf by weisJ.

the class TreeDemo method createTree.

private JTree createTree() {
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");
    DefaultMutableTreeNode parent1 = new DefaultMutableTreeNode("Very very very very very long node A");
    DefaultMutableTreeNode child = new DefaultMutableTreeNode("A loooooooooooooooooooooooooooooooooooooong leaf A");
    DefaultMutableTreeNode child1 = new SelectableTreeNode("Leaf B (boolean)", true);
    DefaultMutableTreeNode parent2 = new DefaultMutableTreeNode("Node B");
    DefaultMutableTreeNode child2 = new DefaultMutableTreeNode("Leaf that is unnecessary verbose and ridiculously long C");
    DefaultMutableTreeNode parent3 = new DefaultMutableTreeNode("Nested");
    DefaultMutableTreeNode current = parent3;
    for (int i = 0; i < 10; i++) {
        DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Nested1 " + i);
        DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Nested2 " + i);
        current.add(node1);
        current.add(node2);
        current = node1;
    }
    parent1.add(child);
    parent1.add(child1);
    parent2.add(child2);
    root.add(parent1);
    root.add(parent2);
    root.add(parent3);
    for (int i = 0; i < 100; i++) {
        root.add(new DefaultMutableTreeNode("Leaf " + i));
    }
    JTree tree = new JTree(root);
    tree.setCellRenderer(new DefaultTreeCellRenderer() {

        @Override
        public Component getTreeCellRendererComponent(final JTree tree, final Object value, final boolean sel, final boolean expanded, final boolean leaf, final int row, final boolean hasFocus) {
            Component component = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
            component.setEnabled(tree.isEnabled() && value != parent1 && value != child);
            return component;
        }
    });
    return tree;
}
Also used : DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) SelectableTreeNode(com.github.weisj.darklaf.components.SelectableTreeNode) DefaultTreeCellRenderer(javax.swing.tree.DefaultTreeCellRenderer)

Aggregations

SelectableTreeNode (com.github.weisj.darklaf.components.SelectableTreeNode)1 DefaultMutableTreeNode (javax.swing.tree.DefaultMutableTreeNode)1 DefaultTreeCellRenderer (javax.swing.tree.DefaultTreeCellRenderer)1