Menu এবং MenuBar ব্যবস্থাপনা

এডাব্লিউটি (AWT) - Java Technologies

322

এডাব্লিউটি (AWT)Menu এবং MenuBar ব্যবস্থাপনা ব্যবহারকারীদের একটি গ্রাফিক্যাল ইন্টারফেসে মেনু তৈরি এবং পরিচালনা করতে সাহায্য করে। MenuBar একটি উপাদান যা উইন্ডো বা ফ্রেমে একাধিক মেনু (যেমন ফাইল, এডিট) প্রদর্শন করে এবং Menu সেই মেনুগুলির ভিতরে সাবমেনু বা অপশন তৈরি করার জন্য ব্যবহৃত হয়। এই দুটি উপাদান একসাথে কাজ করে ব্যবহারকারীর ইন্টারফেসে একাধিক কমান্ড বা অপশন প্রদান করতে।

1. MenuBar (মেনু বার)

MenuBar একটি উইন্ডোতে এক বা একাধিক মেনু প্রদর্শন করে, যা বিভিন্ন অপশন ধারণ করে। এটি সাধারণত উপরের দিকে অবস্থান করে এবং মেনুর একটি শিরোনাম প্রদর্শন করে, যেমন File, Edit, View ইত্যাদি। প্রতিটি মেনুর সাথে একাধিক কমান্ড বা অপশন থাকতে পারে।

বৈশিষ্ট্য:

  • MenuBar হল Frame বা Window এর একটি অংশ, এবং এটি Menu উপাদানগুলো ধারণ করে।
  • একটি MenuBar একটি বা একাধিক Menu ধারণ করতে পারে।

উদাহরণ:

import java.awt.*;  
import java.awt.event.*;  

public class MenuBarExample {  
    public static void main(String[] args) {  
        Frame frame = new Frame("MenuBar Example");
        
        // MenuItems (File Menu)
        Menu fileMenu = new Menu("File");  
        MenuItem newItem = new MenuItem("New");
        MenuItem openItem = new MenuItem("Open");
        MenuItem exitItem = new MenuItem("Exit");
        
        fileMenu.add(newItem);  
        fileMenu.add(openItem);  
        fileMenu.addSeparator();  // Adds a separator between items
        fileMenu.add(exitItem);  
        
        // Exit ActionListener
        exitItem.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                System.exit(0);  
            }  
        });
        
        // MenuBar setup
        MenuBar menuBar = new MenuBar();  
        menuBar.add(fileMenu);  // Adding the File menu to the MenuBar
        
        frame.setMenuBar(menuBar);  // Setting the MenuBar to the frame
        frame.setSize(400, 300);  
        frame.setVisible(true);  
    }  
}

2. Menu (মেনু)

Menu হল একটি ড্রপডাউন মেনু যা ব্যবহারকারীর কাছে বিভিন্ন অপশন বা কমান্ড উপলব্ধ করে। প্রতিটি মেনুর একটি নাম থাকে (যেমন File, Edit) এবং সেই নামের অধীনে এক বা একাধিক MenuItem থাকে, যা ব্যবহারকারীর দ্বারা নির্বাচনযোগ্য।

বৈশিষ্ট্য:

  • Menu একটি MenuItem এর তালিকা ধারণ করে।
  • মেনুতে বিভিন্ন ধরণের অপশন বা কমান্ড থাকতে পারে (যেমন, "New", "Open", "Save" ইত্যাদি)।
  • এটি MenuItem গুলি add() মেথড ব্যবহার করে যুক্ত করা হয়।

উদাহরণ:

import java.awt.*;  
import java.awt.event.*;  

public class MenuExample {  
    public static void main(String[] args) {  
        Frame frame = new Frame("Menu Example");
        
        // Creating a Menu (File)
        Menu fileMenu = new Menu("File");
        
        // Adding MenuItems
        MenuItem newItem = new MenuItem("New");
        MenuItem openItem = new MenuItem("Open");
        fileMenu.add(newItem);  
        fileMenu.add(openItem);
        
        // MenuBar setup
        MenuBar menuBar = new MenuBar();  
        menuBar.add(fileMenu);  
        
        // Setting the MenuBar to the frame
        frame.setMenuBar(menuBar);  
        frame.setSize(400, 300);  
        frame.setVisible(true);  
    }  
}

3. MenuItem (মেনু আইটেম)

MenuItem হল মেনুর ভিতরে থাকা অপশন বা কমান্ড। প্রতিটি MenuItem ক্লিক করার মাধ্যমে একটি নির্দিষ্ট ক্রিয়া সম্পাদিত হয় (যেমন ফাইল খোলা, সেভ করা, নতুন তৈরি করা ইত্যাদি)। MenuItemActionListener যোগ করা যায়, যা মেনু আইটেমের ক্লিক হওয়ার পরে একটি নির্দিষ্ট ক্রিয়া সম্পাদন করতে সক্ষম।

বৈশিষ্ট্য:

  • MenuItem সাধারণত একটি মেনুর অংশ হিসেবে ব্যবহৃত হয়।
  • ActionListener যুক্ত করে এটি কার্য সম্পাদন করতে পারে, যেমন ফাইল খোলার বা প্রোগ্রাম বন্ধ করার জন্য।

উদাহরণ:

import java.awt.*;  
import java.awt.event.*;  

public class MenuItemExample {  
    public static void main(String[] args) {  
        Frame frame = new Frame("MenuItem Example");
        
        // Creating a Menu (File)
        Menu fileMenu = new Menu("File");
        
        // Creating MenuItems
        MenuItem newItem = new MenuItem("New");
        MenuItem openItem = new MenuItem("Open");
        
        fileMenu.add(newItem);  
        fileMenu.add(openItem);
        
        // Adding ActionListener to MenuItems
        newItem.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                System.out.println("New File Created!");  
            }  
        });
        
        openItem.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                System.out.println("Opening File...");  
            }  
        });

        // MenuBar setup
        MenuBar menuBar = new MenuBar();  
        menuBar.add(fileMenu);  
        
        // Setting the MenuBar to the frame
        frame.setMenuBar(menuBar);  
        frame.setSize(400, 300);  
        frame.setVisible(true);  
    }  
}

4. MenuItem-এর অন্যান্য বৈশিষ্ট্য:

  • CheckboxMenuItem: এটি একটি বিশেষ ধরণের মেনু আইটেম, যা একটি চেকবক্সের মত আচরণ করে। ব্যবহারকারী এটিকে সিলেক্ট বা আনসিলেক্ট করতে পারেন। উদাহরণস্বরূপ, একটি Show/Hide অপশন।
  • RadioMenuItem: এটি গ্রুপের মধ্যে একাধিক মেনু আইটেমের মধ্যে একটি নির্বাচন করার জন্য ব্যবহৃত হয়। একাধিক অপশন থাকে, কিন্তু শুধুমাত্র একটি অপশন নির্বাচন করা যায়।

উদাহরণ:

import java.awt.*;  
import java.awt.event.*;  

public class CheckboxMenuItemExample {  
    public static void main(String[] args) {  
        Frame frame = new Frame("CheckboxMenuItem Example");
        
        // Creating a Menu (View)
        Menu viewMenu = new Menu("View");
        
        // Creating CheckboxMenuItem
        CheckboxMenuItem showStatusBar = new CheckboxMenuItem("Show Status Bar");
        
        viewMenu.add(showStatusBar);
        
        // Adding ActionListener to CheckboxMenuItem
        showStatusBar.addItemListener(new ItemListener() {  
            public void itemStateChanged(ItemEvent e) {  
                if (showStatusBar.getState()) {  
                    System.out.println("Status Bar is Visible");  
                } else {  
                    System.out.println("Status Bar is Hidden");  
                }  
            }  
        });

        // MenuBar setup
        MenuBar menuBar = new MenuBar();  
        menuBar.add(viewMenu);  
        
        // Setting the MenuBar to the frame
        frame.setMenuBar(menuBar);  
        frame.setSize(400, 300);  
        frame.setVisible(true);  
    }  
}

Menu, MenuBar এবং MenuItem-এর মধ্যকার সম্পর্ক:

  1. MenuBar: প্রধান মেনু বার যা একটি Frame বা Window এর উপরে থাকে। এটি একাধিক Menu ধারণ করে।
  2. Menu: এটি একটি ড্রপডাউন মেনু যার মধ্যে একাধিক MenuItem থাকে। প্রতিটি মেনু ব্যবহারকারীর জন্য বিভিন্ন অপশন বা কমান্ড প্রদান করে।
  3. MenuItem: এটি মেনুর ভিতরে থাকা আইটেম, যা ব্যবহারকারী নির্বাচন করে এবং সেই অনুযায়ী একটি কার্য সম্পাদিত হয়।

AWT-তে Menu, MenuBar, এবং MenuItem ব্যবহার করে আপনি একটি পূর্ণাঙ্গ মেনু সিস্টেম তৈরি করতে পারেন, যা ব্যবহারকারীকে বিভিন্ন অপশন বা কমান্ড প্রদান করতে সহায়ক।

Content added By

AWT (Abstract Window Toolkit)-এ MenuBar এবং Menu তৈরি করা একটি সাধারণ কাজ যা গ্রাফিকাল ইউজার ইন্টারফেসে বিভিন্ন অপশন প্রদর্শন করতে ব্যবহৃত হয়। MenuBar একটি menu তালিকা ধারণ করে, এবং প্রতিটি menu একাধিক menu items ধারণ করতে পারে।

MenuBar তৈরি করা:

AWT-তে MenuBar এবং Menu তৈরি করার জন্য java.awt.MenuBar, java.awt.Menu, এবং java.awt.MenuItem ক্লাস ব্যবহার করা হয়। এখানে MenuBar একটি বার হিসেবে কাজ করে এবং Menu এতে বিভিন্ন অপশন বা অপারেশন দেখায়।

Menu এবং MenuItem তৈরি করা:

  • Menu হলো একটি পপ-আপ মেনু যা MenuBar-এর অংশ হিসেবে থাকে।
  • MenuItem হলো মেনুর মধ্যে একটি অপশন, যা ব্যবহারকারী ক্লিক করতে পারে।

উদাহরণ: MenuBar এবং Menu তৈরি করা

এখানে একটি উদাহরণ দেখানো হয়েছে যেখানে একটি MenuBar তৈরি করা হয়েছে, যার মধ্যে File এবং Edit মেনু রয়েছে, এবং প্রতিটি মেনুতে কিছু MenuItem যোগ করা হয়েছে।

import java.awt.*;
import java.awt.event.*;

public class MenuBarExample {
    public static void main(String[] args) {
        // ফ্রেম তৈরি
        Frame frame = new Frame("AWT MenuBar Example");

        // MenuBar তৈরি
        MenuBar menuBar = new MenuBar();

        // File মেনু তৈরি
        Menu fileMenu = new Menu("File");
        MenuItem newItem = new MenuItem("New");
        MenuItem openItem = new MenuItem("Open");
        MenuItem exitItem = new MenuItem("Exit");

        // File মেনুতে আইটেম যোগ করা
        fileMenu.add(newItem);
        fileMenu.add(openItem);
        fileMenu.addSeparator();  // সেপারেটর যুক্ত করা
        fileMenu.add(exitItem);

        // Edit মেনু তৈরি
        Menu editMenu = new Menu("Edit");
        MenuItem cutItem = new MenuItem("Cut");
        MenuItem copyItem = new MenuItem("Copy");
        MenuItem pasteItem = new MenuItem("Paste");

        // Edit মেনুতে আইটেম যোগ করা
        editMenu.add(cutItem);
        editMenu.add(copyItem);
        editMenu.add(pasteItem);

        // মেনুবারে মেনু যোগ করা
        menuBar.add(fileMenu);
        menuBar.add(editMenu);

        // ফ্রেমে মেনুবার যোগ করা
        frame.setMenuBar(menuBar);

        // এক্সিট আইটেমে ActionListener যোগ করা
        exitItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);  // প্রোগ্রাম বন্ধ করা
            }
        });

        // ফ্রেমের আকার এবং দৃশ্যমানতা সেট করা
        frame.setSize(400, 300);
        frame.setVisible(true);

        // উইন্ডো ক্লোজ করার জন্য উইন্ডো লিসেনার যোগ করা
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent we) {
                System.exit(0);
            }
        });
    }
}

ব্যাখ্যা:

  1. MenuBar তৈরি: MenuBar ক্লাস ব্যবহার করে একটি মেনুবার তৈরি করা হয়েছে।
  2. Menu তৈরি: Menu ক্লাস ব্যবহার করে দুটি মেনু তৈরি করা হয়েছে: File এবং Edit
  3. MenuItem তৈরি: MenuItem ক্লাস ব্যবহার করে প্রতিটি মেনুতে বিভিন্ন অপশন যোগ করা হয়েছে, যেমন New, Open, Cut, Copy, Paste
  4. MenuBar ফ্রেমে যোগ করা: setMenuBar() মেথড ব্যবহার করে মেনুবারটি ফ্রেমে যোগ করা হয়েছে।
  5. ActionListener যোগ করা: Exit মেনু আইটেমে একটি ActionListener যোগ করা হয়েছে, যাতে এটি ক্লিক করলে প্রোগ্রামটি বন্ধ হয়ে যায়।

মেনুতে অন্যান্য বৈশিষ্ট্য:

  • Separator: মেনুর মধ্যে একটি আলাদা লাইন যুক্ত করার জন্য addSeparator() মেথড ব্যবহার করা হয়।
  • Shortcut Keys: আপনি MenuItem-এ শর্টকাট কিও যুক্ত করতে পারেন, যেমন newItem.setShortcut('N')

AWT তে MenuBar, Menu, এবং MenuItem ব্যবহার করে একটি মেনু তৈরি করা যায় যা GUI অ্যাপ্লিকেশনের কার্যকারিতা এবং ব্যবহারকারী ইন্টারফেসের মধ্যে গুরুত্বপূর্ণ অংশ হতে পারে। এতে একাধিক অপশন যুক্ত করা সম্ভব, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।

Content added By

AWT-তে MenuItem এবং CheckboxMenuItem ব্যবহার করে মেনু তৈরি করা হয়। MenuItem সাধারণত একটি সাধারণ মেনু আইটেম হিসেবে ব্যবহৃত হয়, যেখানে ব্যবহারকারী কোনও একটি অপশন নির্বাচন করতে পারেন। অন্যদিকে, CheckboxMenuItem হলো একটি মেনু আইটেম, যেখানে ব্যবহারকারী চেকবক্স নির্বাচন করতে পারেন, যার মাধ্যমে একটি অপশন অন/অফ করা যায়।

উদাহরণ: MenuItem এবং CheckboxMenuItem এর ব্যবহার

এই উদাহরণে একটি মেনু তৈরি করা হবে, যেখানে একটি সাধারণ MenuItem এবং একটি CheckboxMenuItem থাকবে। ব্যবহারকারী MenuItem ক্লিক করলে একটি ম্যাসেজ প্রদর্শিত হবে এবং CheckboxMenuItem চেক/আনচেক করলে তার অবস্থান দেখানো হবে।

import java.awt.*;
import java.awt.event.*;

public class MenuExample {
    public static void main(String[] args) {
        // Frame অবজেক্ট তৈরি
        Frame frame = new Frame("AWT Menu Example");

        // MenuBar তৈরি করা
        MenuBar menuBar = new MenuBar();

        // File মেনু তৈরি করা
        Menu fileMenu = new Menu("File");

        // File মেনুতে MenuItem যোগ করা
        MenuItem openItem = new MenuItem("Open");
        openItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("Open selected!");
            }
        });
        fileMenu.add(openItem);

        // CheckboxMenuItem তৈরি করা
        CheckboxMenuItem checkItem = new CheckboxMenuItem("Enable Feature");
        checkItem.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                if (checkItem.getState()) {
                    System.out.println("Feature Enabled");
                } else {
                    System.out.println("Feature Disabled");
                }
            }
        });
        fileMenu.add(checkItem);

        // File মেনু মেনুবারে যোগ করা
        menuBar.add(fileMenu);

        // MenuBar ফ্রেমে সেট করা
        frame.setMenuBar(menuBar);

        // উইন্ডোর আকার নির্ধারণ
        frame.setSize(400, 300);

        // উইন্ডো বন্ধ করার জন্য ইভেন্ট হ্যান্ডলার
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent we) {
                System.exit(0);
            }
        });

        // উইন্ডো দৃশ্যমান করা
        frame.setVisible(true);
    }
}

কোডের ব্যাখ্যা:

  1. MenuBar তৈরি করা:
    • একটি MenuBar তৈরি করা হয়েছে, যা বিভিন্ন মেনু ধারণ করবে।
  2. Menu তৈরি করা:
    • একটি Menu তৈরি করা হয়েছে যার নাম "File"। এখানে মেনুতে দুটি আইটেম থাকবে: একটি সাধারণ MenuItem এবং একটি CheckboxMenuItem
  3. MenuItem তৈরি করা:
    • একটি সাধারণ MenuItem "Open" তৈরি করা হয়েছে, যা ক্লিক করলে একটি ম্যাসেজ প্রিন্ট করবে: "Open selected!"
  4. CheckboxMenuItem তৈরি করা:
    • একটি CheckboxMenuItem "Enable Feature" তৈরি করা হয়েছে, যা চেক বা আনচেক করার মাধ্যমে Feature Enabled বা Feature Disabled ম্যাসেজ প্রিন্ট করবে। এটি ItemListener দিয়ে পরিচালিত হয়, যার মাধ্যমে আমরা জানতে পারি চেকবক্স চেকড রয়েছে কিনা।
  5. WindowListener:
    • উইন্ডো বন্ধ করার জন্য WindowListener ব্যবহার করা হয়েছে।
  6. মেনুবারে মেনু যোগ করা:
    • fileMenu মেনুটি menuBar-এ যোগ করা হয়েছে, এবং শেষে menuBar ফ্রেমে সেট করা হয়েছে।

ফলাফল:

এই কোডটি রান করলে একটি উইন্ডো দেখা যাবে, যার উপরের অংশে একটি "File" মেনু থাকবে। এই মেনুতে দুটি আইটেম থাকবে:

  • Open: ক্লিক করলে "Open selected!" ম্যাসেজ কনসোলে দেখাবে।
  • Enable Feature: এটি একটি চেকবক্স মেনু আইটেম, যা চেক বা আনচেক করলে "Feature Enabled" বা "Feature Disabled" ম্যাসেজ কনসোলে দেখাবে।

এইভাবে, MenuItem এবং CheckboxMenuItem ব্যবহার করে মেনু তৈরি ও ব্যবহারের মাধ্যমে বিভিন্ন ধরনের ফাংশনালিটি বাস্তবায়ন করা যায়।

Content added By

AWT (Abstract Window Toolkit)-এ PopupMenu এবং Context Menu দুটি ইন্টারফেস উপাদান যা সাধারণত ব্যবহারকারীর দ্বারা একটি বিশেষ কাজ বা নির্বাচন করার জন্য ব্যবহৃত হয়। এই দুটি মেনু সাধারণত মাউস রাইট ক্লিকের মাধ্যমে প্রদর্শিত হয় এবং এদের ব্যবহারকারীর ইন্টারঅ্যাকশনকে সহজ করে।

1. PopupMenu:

PopupMenu হলো একটি মেনু যা সাধারণত মাউসের ডান বাটন (right-click) ক্লিক করার পর প্রদর্শিত হয়। এটি সাধারণত এমন অবস্থায় ব্যবহৃত হয় যেখানে মেনু অপশনগুলি কোনও নির্দিষ্ট স্থানে বা কন্টেক্সটে ব্যবহারকারীর জন্য দরকারি হয়।

PopupMenu তৈরি:

AWT-এ PopupMenu তৈরি করার জন্য, PopupMenu ক্লাস ব্যবহার করা হয় এবং এটি MenuItem ক্লাসের মাধ্যমে মেনু অপশন যোগ করা হয়। এছাড়া, PopupMenu-কে add() মেথডের মাধ্যমে ফ্রেমে যুক্ত করা হয়।

PopupMenu উদাহরণ:

import java.awt.*;
import java.awt.event.*;

public class PopupMenuExample {
    public static void main(String[] args) {
        Frame frame = new Frame("PopupMenu Example");
        
        // Create a PopupMenu
        PopupMenu popupMenu = new PopupMenu();
        
        // Create MenuItems
        MenuItem item1 = new MenuItem("Open");
        MenuItem item2 = new MenuItem("Save");
        MenuItem item3 = new MenuItem("Exit");
        
        // Add MenuItems to the PopupMenu
        popupMenu.add(item1);
        popupMenu.add(item2);
        popupMenu.add(item3);
        
        // Add PopupMenu to the Frame
        frame.add(popupMenu);
        
        // Add MouseListener to show the PopupMenu on right-click
        frame.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    popupMenu.show(frame, e.getX(), e.getY());
                }
            }
            public void mouseReleased(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    popupMenu.show(frame, e.getX(), e.getY());
                }
            }
        });

        // Frame settings
        frame.setSize(300, 200);
        frame.setLayout(null);
        frame.setVisible(true);
    }
}

এখানে PopupMenu তৈরি করা হয়েছে এবং এতে তিনটি MenuItem যোগ করা হয়েছে। যখন ব্যবহারকারী মাউসের ডান বাটন ক্লিক করবে, তখন এই মেনু প্রদর্শিত হবে।

2. Context Menu:

Context Menu হল একটি বিশেষ ধরনের মেনু যা সাধারণত PopupMenu হিসেবে কাজ করে, কিন্তু এটি সাধারণত নির্দিষ্ট কন্টেক্সটে প্রদর্শিত হয়, যেমন একটি ফাইল বা একটি টেক্সট এরিয়া। Context Menu এবং PopupMenu এর মধ্যে প্রায় কোনো বড় পার্থক্য নেই, তবে Context Menu শব্দটি সাধারণত এমন মেনুর জন্য ব্যবহৃত হয় যা নির্দিষ্ট কন্টেক্সটের উপর নির্ভরশীল।

Context Menu উদাহরণ:

import java.awt.*;
import java.awt.event.*;

public class ContextMenuExample {
    public static void main(String[] args) {
        Frame frame = new Frame("ContextMenu Example");
        
        // Create a Context Menu (PopupMenu)
        PopupMenu contextMenu = new PopupMenu();
        
        // Create MenuItems
        MenuItem copyItem = new MenuItem("Copy");
        MenuItem pasteItem = new MenuItem("Paste");
        MenuItem deleteItem = new MenuItem("Delete");
        
        // Add MenuItems to the PopupMenu
        contextMenu.add(copyItem);
        contextMenu.add(pasteItem);
        contextMenu.add(deleteItem);
        
        // Add PopupMenu to the Frame
        frame.add(contextMenu);
        
        // Add MouseListener to show the ContextMenu on right-click
        frame.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    contextMenu.show(frame, e.getX(), e.getY());
                }
            }
            public void mouseReleased(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    contextMenu.show(frame, e.getX(), e.getY());
                }
            }
        });

        // Frame settings
        frame.setSize(300, 200);
        frame.setLayout(null);
        frame.setVisible(true);
    }
}

এখানে Context Menu হিসেবে PopupMenu ব্যবহৃত হয়েছে এবং এতে কপি, পেস্ট, এবং ডিলিট অপশন যুক্ত করা হয়েছে। মাউসের ডান বাটন ক্লিক করলে এই কন্টেক্সট মেনু প্রদর্শিত হবে।

PopupMenu এবং Context Menu এর মধ্যে পার্থক্য:

বৈশিষ্ট্যPopupMenuContext Menu
উদ্দেশ্যসাধারণত মাউস রাইট ক্লিক বা বিশেষ কন্টেক্সটের জন্য ব্যবহার করা হয়নির্দিষ্ট কন্টেক্সটে (যেমন, ফাইল বা টেক্সট) ব্যবহার করা হয়
ব্যবহারPopupMenu সাধারণত একাধিক সাধারণ কাজের জন্য ব্যবহৃত হয়Context Menu নির্দিষ্ট কাজ বা অবস্থা অনুযায়ী তৈরি হয়
উপাদানPopupMenu একটি সাধারণ মেনু যা MenuItem ধারণ করেContext Menu হলো PopupMenu যা কন্টেক্সট-ভিত্তিক অপশন ধারণ করে

সারাংশ:

  • PopupMenu সাধারণভাবে মাউস রাইট ক্লিক করার মাধ্যমে প্রদর্শিত হয় এবং একাধিক সাধারণ অপশন ধারণ করে।
  • Context Menu একটি বিশেষ ধরনের PopupMenu, যা সাধারণত নির্দিষ্ট কন্টেক্সট (যেমন, ফাইল, টেক্সট বক্স ইত্যাদি) অনুযায়ী ব্যবহৃত হয়।

এ দুটি মেনু ব্যবহারের মাধ্যমে আপনি একটি পরিষ্কার এবং ব্যবহারকারী-বান্ধব ইন্টারফেস তৈরি করতে পারবেন।

Content added By

এডাব্লিউটি (AWT) তে Submenu এবং Menu Shortcut ব্যবস্থাপনা ব্যবহারকারীর ইন্টারফেসে মেনু এবং সেগুলোর শর্টকাট কীগুলোর মাধ্যমে সহজে কার্যক্রম পরিচালনা করতে সাহায্য করে। Menu একটি গুরুত্বপূর্ণ কম্পোনেন্ট যা ব্যবহারকারীদের বিভিন্ন অপশন বা ফাংশন নির্বাচন করতে সাহায্য করে, আর Submenu হল মেনুর মধ্যে আরেকটি মেনু। Menu Shortcut ব্যবস্থাপনা ব্যবহারকারীদের জন্য দ্রুত অপশন নির্বাচন করার সুবিধা দেয়।

১. Submenu (AWT Submenu)

Submenu হল একটি মেনুর অধীনে আরও মেনু অপশন প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি মূলত Menu এর ভিতরে আরেকটি Menu হিসেবে কাজ করে। Submenu ব্যবহারকারীকে আরও বিস্তারিত অপশন বা কার্যক্রম প্রদান করে।

উদাহরণ:

নিচে একটি Submenu তৈরি করার উদাহরণ দেওয়া হলো যেখানে একটি মেনু "File" রয়েছে এবং এর অধীনে আরো সাব-অপশন রয়েছে:

import java.awt.*;
import java.awt.event.*;

public class SubmenuExample {
    public static void main(String[] args) {
        Frame frame = new Frame("AWT Submenu Example");

        // MenuBar তৈরি
        MenuBar menuBar = new MenuBar();

        // "File" মেনু তৈরি
        Menu fileMenu = new Menu("File");

        // "New" এবং "Open" অপশন তৈরি
        MenuItem newItem = new MenuItem("New");
        MenuItem openItem = new MenuItem("Open");

        // "File" মেনুতে অপশন যোগ করা
        fileMenu.add(newItem);
        fileMenu.add(openItem);

        // "Edit" মেনু তৈরি
        Menu editMenu = new Menu("Edit");

        // "Undo" এবং "Redo" অপশন তৈরি
        MenuItem undoItem = new MenuItem("Undo");
        MenuItem redoItem = new MenuItem("Redo");

        // "Edit" মেনুতে অপশন যোগ করা
        editMenu.add(undoItem);
        editMenu.add(redoItem);

        // "Tools" মেনু তৈরি এবং Submenu যোগ করা
        Menu toolsMenu = new Menu("Tools");
        MenuItem colorItem = new MenuItem("Change Color");

        // Submenu তৈরির জন্য Submenu তৈরি করা
        Menu subMenu = new Menu("More Options");
        MenuItem option1 = new MenuItem("Option 1");
        MenuItem option2 = new MenuItem("Option 2");
        
        subMenu.add(option1);
        subMenu.add(option2);
        toolsMenu.add(subMenu);  // Submenu "More Options" যোগ করা

        // মেনু এবং সাবমেনু বার যোগ করা
        menuBar.add(fileMenu);
        menuBar.add(editMenu);
        menuBar.add(toolsMenu);

        // মেনু বার ফ্রেমে সেট করা
        frame.setMenuBar(menuBar);

        frame.setSize(400, 300);
        frame.setLayout(null);
        frame.setVisible(true);
    }
}

এই উদাহরণে:

  • "File" এবং "Edit" দুটি মেনু তৈরি করা হয়েছে, আর "Tools" মেনুর মধ্যে একটি Submenu রয়েছে।
  • Submenu এর মধ্যে Option 1 এবং Option 2 অপশন রয়েছে।

২. Menu Shortcut (AWT Menu Shortcut)

Menu Shortcut হল মেনু আইটেমগুলোর সাথে শর্টকাট কী যুক্ত করার জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীদের মেনু অপশন দ্রুত কার্যকর করতে সাহায্য করে, যেমন Ctrl+N দিয়ে "New" অপশন চালানো।

উদাহরণ:

নিচে একটি Menu Shortcut ব্যবহার করার উদাহরণ দেওয়া হয়েছে:

import java.awt.*;
import java.awt.event.*;

public class MenuShortcutExample {
    public static void main(String[] args) {
        Frame frame = new Frame("AWT Menu Shortcut Example");

        // MenuBar তৈরি
        MenuBar menuBar = new MenuBar();

        // "File" মেনু তৈরি
        Menu fileMenu = new Menu("File");

        // "New" অপশন তৈরি এবং শর্টকাট যুক্ত করা
        MenuItem newItem = new MenuItem("New");
        newItem.setShortcut(new MenuShortcut(KeyEvent.VK_N, false)); // Ctrl+N shortcut
        fileMenu.add(newItem);

        // "Open" অপশন তৈরি এবং শর্টকাট যুক্ত করা
        MenuItem openItem = new MenuItem("Open");
        openItem.setShortcut(new MenuShortcut(KeyEvent.VK_O, false)); // Ctrl+O shortcut
        fileMenu.add(openItem);

        // "Exit" অপশন তৈরি
        MenuItem exitItem = new MenuItem("Exit");
        fileMenu.add(exitItem);

        // মেনু এবং মেনু বার ফ্রেমে সেট করা
        menuBar.add(fileMenu);
        frame.setMenuBar(menuBar);

        // Exit অপশনে ক্লিক করলে অ্যাপ্লিকেশন বন্ধ হবে
        exitItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });

        frame.setSize(400, 300);
        frame.setLayout(null);
        frame.setVisible(true);
    }
}

এই উদাহরণে:

  • "New" এবং "Open" অপশনের জন্য শর্টকাট কী দেওয়া হয়েছে, যেমন Ctrl+N এবং Ctrl+O
  • MenuShortcut(KeyEvent.VK_X, false) ব্যবহার করে শর্টকাট কী সংযুক্ত করা হয়েছে, যেখানে VK_X শর্টকাটের কী কোড এবং false হল "Ctrl" কী ব্যবহার হবে কিনা।
  • Submenu একটি মেনুর অধীনে আরেকটি মেনু তৈরি করতে ব্যবহৃত হয়, যা ব্যবহারকারীকে আরও বিস্তারিত অপশন বা কার্যক্রম প্রদান করে।
  • Menu Shortcut শর্টকাট কী ব্যবহার করে মেনু আইটেমগুলোর দ্রুত এক্সেস সরবরাহ করে, যেমন Ctrl+N বা Ctrl+O
  • এই দুটি উপাদান একত্রে ব্যবহারকারীকে সহজ এবং দ্রুত ইন্টারফেস প্রদান করতে সাহায্য করে।
Content added By
Promotion

Are you sure to start over?

Loading...