Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
How to allow contigous selection of nodes in a JTree?
Contigous selection means sharing borders like selecting siblings of a node in a JTree. To allow contiguous selection of nodes, set the selection mode to CONTIGUOUS_TREE_SELECTION −
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
The following is an example to allow contigous selection of nodes in a JTree −
Example
<span class="kwd">package</span><span class="pln"> </span><span class="kwd">my</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">swing</span><span class="pun">.</span><span class="typ">JFrame</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">swing</span><span class="pun">.</span><span class="typ">JTree</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">swing</span><span class="pun">.</span><span class="pln">tree</span><span class="pun">.</span><span class="typ">DefaultMutableTreeNode</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">swing</span><span class="pun">.</span><span class="pln">tree</span><span class="pun">.</span><span class="typ">TreeSelectionModel</span><span class="pun">;</span>
<span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">SwingDemo</span><span class="pln"> </span><span class="pun">{</span>
<span class="kwd"> public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">throws</span><span class="pln"> </span><span class="typ">Exception</span><span class="pln"> </span><span class="pun">{</span>
<span class="typ"> JFrame</span><span class="pln"> frame </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JFrame</span><span class="pun">(</span><span class="str">"Demo"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> node </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Products"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> node1 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Clothing"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> node2 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Electronics"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> node3 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Home Decor"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> node4 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Furniture"</span><span class="pun">);</span>
<span class="pln"> node</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">node1</span><span class="pun">);</span>
<span class="pln"> node</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">node2</span><span class="pun">);</span>
<span class="pln"> node</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">node3</span><span class="pun">);</span>
<span class="pln"> node</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">node4</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> one </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Shirt"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> two </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Trousers"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> three </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Jeans"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> four </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Mobiles"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> five </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Camera"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> six </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Tablet"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> seven </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Paintings"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> eight </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Showpieces"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> nine </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Wardrobes"</span><span class="pun">);</span>
<span class="typ"> DefaultMutableTreeNode</span><span class="pln"> ten </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultMutableTreeNode</span><span class="pun">(</span><span class="str">"Bean Bags"</span><span class="pun">);</span>
<span class="pln"> node1</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">one</span><span class="pun">);</span>
<span class="pln"> node1</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">two</span><span class="pun">);</span>
<span class="pln"> node1</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">three</span><span class="pun">);</span>
<span class="pln"> node2</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">four</span><span class="pun">);</span>
<span class="pln"> node2</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">five</span><span class="pun">);</span>
<span class="pln"> node2</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">six</span><span class="pun">);</span>
<span class="pln"> node3</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">seven</span><span class="pun">);</span>
<span class="pln"> node3</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">eight</span><span class="pun">);</span>
<span class="pln"> node4</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">nine</span><span class="pun">);</span>
<span class="pln"> node4</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">ten</span><span class="pun">);</span>
<span class="typ"> JTree</span><span class="pln"> tree </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JTree</span><span class="pun">(</span><span class="pln">node</span><span class="pun">);</span>
<span class="kwd"> for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> tree</span><span class="pun">.</span><span class="pln">getRowCount</span><span class="pun">();</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span>
<span class="pln"> tree</span><span class="pun">.</span><span class="pln">expandRow</span><span class="pun">(</span><span class="pln">i</span><span class="pun">);</span>
<span class="pun"> }</span>
<span class="pln"> tree</span><span class="pun">.</span><span class="pln">putClientProperty</span><span class="pun">(</span><span class="str">"JTree.lineStyle"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Angled"</span><span class="pun">);</span>
<span class="pln"> tree</span><span class="pun">.</span><span class="pln">getSelectionModel</span><span class="pun">().</span><span class="pln">setSelectionMode</span><span class="pun">(</span><span class="typ">TreeSelectionModel</span><span class="pun">.</span><span class="pln">CONTIGUOUS_TREE_SELECTION</span><span class="pun">);</span>
<span class="pln"> tree</span><span class="pun">.</span><span class="pln">setRowHeight</span><span class="pun">(</span><span class="lit">25</span><span class="pun">);</span>
<span class="pln"> frame</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">tree</span><span class="pun">);</span>
<span class="pln"> frame</span><span class="pun">.</span><span class="pln">setSize</span><span class="pun">(</span><span class="lit">600</span><span class="pun">,</span><span class="lit">450</span><span class="pun">);</span>
<span class="pln"> frame</span><span class="pun">.</span><span class="pln">setVisible</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">);</span>
<span class="pun"> }</span>
<span class="pun">}</span>
Output

Advertisements
