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;
}
}
} आउटपुट
