Syntax error Allow multiple selection of nodes not necessarily contigous in JTree

Allow multiple selection of nodes not necessarily contigous in JTree



To allow multiple selection of nodes not necessarily contiguous, set the selection mode for tree to be DISCONTIGUOUS_TREE_SELECTION −

tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);

The following is an example to allow multiple selection of nodes, which are not necessarily contigous −

Example

package my;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;
public class SwingDemo {
   public static void main(String[] args) throws Exception {
      JFrame frame = new JFrame("Demo");
      DefaultMutableTreeNode node = new DefaultMutableTreeNode("Products");
      DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Clothing");
      DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Electronics");
      DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("Home Decor");
      DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Furniture");
      node.add(node1);
      node.add(node2);
      node.add(node3);
      node.add(node4);
      DefaultMutableTreeNode one = new DefaultMutableTreeNode("Shirt");
      DefaultMutableTreeNode two = new DefaultMutableTreeNode("Trousers");
      DefaultMutableTreeNode three = new DefaultMutableTreeNode("Jeans");
      DefaultMutableTreeNode four = new DefaultMutableTreeNode("Mobiles");
      DefaultMutableTreeNode five = new DefaultMutableTreeNode("Camera");
      DefaultMutableTreeNode six = new DefaultMutableTreeNode("Tablet");
      DefaultMutableTreeNode seven = new DefaultMutableTreeNode("Paintings");
      DefaultMutableTreeNode eight = new DefaultMutableTreeNode("Showpieces");
      DefaultMutableTreeNode nine = new DefaultMutableTreeNode("Wardrobes");
      DefaultMutableTreeNode ten = new DefaultMutableTreeNode("Bean Bags");
      node1.add(one);
      node1.add(two);
      node1.add(three);
      node2.add(four);
      node2.add(five);
      node2.add(six);
      node3.add(seven);
      node3.add(eight);
      node4.add(nine);
      node4.add(ten);
      JTree tree = new JTree(node);
      for (int i = 0; i < tree.getRowCount(); i++) {
         tree.expandRow(i);
      }
      tree.putClientProperty("JTree.lineStyle", "Angled");
      tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
      tree.setRowHeight(25);
      frame.add(tree);
      frame.setSize(600,450);
      frame.setVisible(true);
   }
}

Output

Updated on: 2019-07-30T22:30:26+05:30

371 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements