Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में JTree के प्रत्येक नोड पर माउस राइट-क्लिक कैसे लागू करें?


JTree JComponent क्लास का एक सबक्लास है जिसका उपयोग हायरार्किकल गुणों वाले डेटा को नोड्स में नोड्स जोड़कर और पैरेंट और चाइल्ड नोड की अवधारणा को बनाए रखते हुए प्रदर्शित करने के लिए किया जा सकता है। ट्री में प्रत्येक तत्व एक नोड बन जाता है। नोड्स एक्सपैंडेबल और कॉलैप्सिबल होते हैं। हम MouseAdapter क्लास के mouseReleased() मेथड का उपयोग करके और JPopupMenu क्लास के show() मेथड को कॉल करके ट्री नोड पर पॉपअप मेनू दिखाने के लिए JTree के प्रत्येक नोड पर माउस राइट-क्लिक लागू कर सकते हैं।

उदाहरण

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; 
public class JTreeRightClickTest extends JFrame { 
    public JTreeRightClickTest() { 
        DefaultMutableTreeNode root = createNodes(); 
        JTree tree = new JTree(root); 
        final TreePopup treePopup = new TreePopup(tree); 
        tree.addMouseListener(new MouseAdapter() { 
            public void mouseReleased(MouseEvent e) { 
                if(e.isPopupTrigger()) { 
                    treePopup.show(e.getComponent(), e.getX(), e.getY()); 
                } 
            } 
        }); 
        add(new JScrollPane(tree), BorderLayout.NORTH); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        setSize(400, 300); 
        setLocationRelativeTo(null); 
        setVisible(true); 
    } 
    public static DefaultMutableTreeNode createNodes() { 
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("Technology"); 
        DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Java"); 
        DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Python"); 
        DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("Selenium"); 
        node1.add(new DefaultMutableTreeNode("Programming Language")); 
        node2.add(new DefaultMutableTreeNode("Programming Language")); 
        node3.add(new DefaultMutableTreeNode("Testing Framework")); 
        root.add(node1); 
        root.add(node2); 
        root.add(node3); 
        return root; 
    } 
    public static void main(String args[]) { 
        new JTreeRightClickTest(); 
    } 
} 
class TreePopup extends JPopupMenu { 
    public TreePopup(JTree tree) { 
        JMenuItem delete = new JMenuItem("Delete"); 
        JMenuItem add = new JMenuItem("Add"); 
        delete.addActionListener(new ActionListener() { 
            public void actionPerformed(ActionEvent ae) { 
                System.out.println("Delete child"); 
            } 
        }); 
        add.addActionListener(new ActionListener() { 
            public void actionPerformed(ActionEvent ae) { 
                System.out.println("Add child"); 
            } 
        }); 
        add(delete); 
        add(new JSeparator()); 
        add(add); 
    } 
}

आउटपुट

जावा में JTree के प्रत्येक नोड पर माउस राइट-क्लिक कैसे लागू करें?


  1. Java में JPanel के paintComponent() विधि को कैसे लागू करें? Java में JPanel के paintComponent() विधि को कैसे लागू करें?

    एक JPanel एक हल्का कंटेनर है और यह Java में एक अदृश्य घटक है। JPanel का डिफ़ॉल्ट लेआउट FlowLayout है। JPanel बनने के बाद, अन्य घटकों को JPanel ऑब्जेक्ट में इसकी add() विधि को कॉल करके जोड़ा जा सकता है जो Container क्लास से विरासत में मिली है। paintComponent() यह विधि JPanel पर बैकग्राउंड कलर बनाने

  1. Java में BorderFactory का उपयोग करके विभिन्न बॉर्डर कैसे लागू करें? Java में BorderFactory का उपयोग करके विभिन्न बॉर्डर कैसे लागू करें?

    BorderFactory एक फैक्टरी क्लास है जो Java में विभिन्न प्रकार के बॉर्डर प्रदान करती है। बॉर्डर के प्रकार BevelBorder: यह बॉर्डर उभरे हुए या दबे हुए बेवेल्ड किनारे खींचता है। EmptyBorder: यह कोई ड्राइंग नहीं करता, लेकिन जगह लेता है। EtchedBorder: एक लोअर एच्ड बॉर्डर एक आयत की उपस्थिति देता है और एक

  1. Java में JToggleButton कैसे लागू करें Java में JToggleButton कैसे लागू करें

    JToggleButtonएक JToggleButton AbstractButton का एक्सटेंशन है और इसका उपयोग उन बटनों को दर्शाने के लिए किया जा सकता है जिन्हें ON और OFF किया जा सकता है।जब JToggleButton को पहली बार दबाया जाता है, तो यह दबा हुआ रहता है और इसे केवल दूसरी बार दबाने पर रिलीज़ किया जा सकता है।एक JToggleButton हर बार दबाए