A JTree एक घटक है जो एक पदानुक्रमित . प्रस्तुत करता है डेटा का दृश्य। उपयोगकर्ता के पास विस्तार करने की क्षमता है या संक्षिप्त करें व्यक्तिगत उप-वृक्ष। एक ट्रीनोड इंटरफ़ेस उन विधियों को परिभाषित करता है जिन्हें JTree . के नोड्स को लागू किया जाना चाहिए वस्तु। DefaulMutableTreeNode क्लास ट्रीनोड . का डिफ़ॉल्ट कार्यान्वयन प्रदान करता है इंटरफेस। हम getTreeCellRendererComponent() को ओवरराइड करके JTree के पत्ते को अक्षम कर सकते हैं D . की विधि efaultTreeCellRenderer कक्षा।
सिंटैक्स
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus)
उदाहरण
import java.awt.*; import javax.swing.tree.*; import javax.swing.*; public class JTreeLeafNodeDisableTest extends JFrame { private TreeNode treeNode; private JTree tree; public JTreeLeafNodeDisableTest() { setTitle("JTreeLeafNodeDisable Test"); treeNode = new DefaultMutableTreeNode("Country"); tree = new JTree(); tree.setModel(new DefaultTreeModel(treeNode)); tree.setCellRenderer(new CustomDefaultTreeCellRenderer()); add(tree); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new JTreeLeafNodeDisableTest(); } static class CustomDefaultTreeCellRenderer extends DefaultTreeCellRenderer { @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { boolean enabled = false; sel = enabled; hasFocus = enabled; Component treeCellRendererComponent = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); treeCellRendererComponent.setEnabled(enabled); return treeCellRendererComponent; } } }
आउटपुट