কম্পিউটার টিউটোরিয়াল

জাভাতে 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. জাভাতে সংখ্যা গণনার প্রোগ্রাম কীভাবে বাস্তবায়ন করবেন?

  2. জাভাতে JPanel-এর paintComponent() মেথড কীভাবে বাস্তবায়ন করবেন?

  3. জাভাতে BorderFactory ব্যবহার করে ভিন্ন ধরনের বর্ডার কীভাবে বাস্তবায়ন করবেন?

  4. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?