Modal এবং Non-Modal Dialog তৈরি করা

Dialog এবং Popup উইন্ডো তৈরি - এডাব্লিউটি (AWT) - Java Technologies

356

AWT Dialog কম্পোনেন্ট ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন করতে ব্যবহৃত হয়, যেখানে একটি Dialog Window খোলা হয় যা অন্যান্য উইন্ডোগুলোর থেকে আলাদা থাকে। Dialog উইন্ডোগুলোর দুটি প্রধান ধরন রয়েছে: Modal Dialog এবং Non-Modal Dialog

Modal Dialog:

Modal Dialog এমন একটি ডায়ালগ যা অন্য কোনো উইন্ডো বা কম্পোনেন্টের সাথে ইন্টারঅ্যাকশন করার আগে ব্যবহারকারীর কাছ থেকে কোন ইনপুট বা একশন নেওয়া আবশ্যক। অর্থাৎ, Modal Dialog খোলা থাকলে, এটি ব্যবহারকারীকে অন্য কোন উইন্ডোর সাথে কাজ করতে দেয় না যতক্ষণ না এটি বন্ধ না হয়।

Non-Modal Dialog:

Non-Modal Dialog হলো এমন একটি ডায়ালগ যা ব্যবহারকারীকে অন্য উইন্ডোগুলোর সাথে একযোগে কাজ করার অনুমতি দেয়। অর্থাৎ, Non-Modal Dialog খোলার পর ব্যবহারকারী অন্য উইন্ডো বা কম্পোনেন্টের সাথে কাজ করতে পারে, যেহেতু এটি modal নয়

AWT তে Modal এবং Non-Modal Dialog তৈরি করার উদাহরণ:

1. Modal Dialog তৈরি করা:

Modal Dialog তৈরি করার জন্য Dialog ক্লাস ব্যবহার করা হয় এবং true প্যারামিটারটি প্রদান করা হয় setModal(true) মেথডে, যাতে এটি Modal হিসেবে কাজ করে।

উদাহরণ:

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

public class ModalDialogExample {
    public static void main(String[] args) {
        Frame f = new Frame("AWT Modal Dialog Example");

        // Button to open Modal Dialog
        Button btnOpenDialog = new Button("Open Modal Dialog");
        btnOpenDialog.setBounds(50, 50, 200, 30);

        // ActionListener for button
        btnOpenDialog.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // Create a modal dialog
                Dialog modalDialog = new Dialog(f, "Modal Dialog", true);
                modalDialog.setSize(300, 200);
                modalDialog.setLayout(new FlowLayout());

                // Add a label and button inside the modal dialog
                modalDialog.add(new Label("This is a Modal Dialog"));
                Button closeBtn = new Button("Close");
                modalDialog.add(closeBtn);

                // ActionListener for close button
                closeBtn.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        modalDialog.setVisible(false); // Close the dialog
                    }
                });

                modalDialog.setVisible(true); // Show the modal dialog
            }
        });

        f.add(btnOpenDialog);
        f.setSize(400, 300);
        f.setLayout(null);
        f.setVisible(true);
    }
}

ব্যাখ্যা:

  • Dialog modalDialog = new Dialog(f, "Modal Dialog", true); : এই লাইনটি Modal Dialog তৈরি করে যেখানে true প্যারামিটারটি নির্দেশ করে এটি একটি Modal Dialog হবে।
  • Modal Dialog খোলার পর ব্যবহারকারী কেবল এই Dialog-টির সাথে ইন্টারঅ্যাক্ট করতে পারবেন, অন্য কোনো উইন্ডোর সাথে নয়।

2. Non-Modal Dialog তৈরি করা:

Non-Modal Dialog তৈরি করতে, Dialog ক্লাস ব্যবহার করা হয় এবং false প্যারামিটারটি প্রদান করা হয় setModal(false) মেথডে, যাতে এটি Non-Modal হিসেবে কাজ করে। Non-Modal Dialog ব্যবহারকারীদের অন্য উইন্ডোগুলোর সাথে একযোগে কাজ করার অনুমতি দেয়।

উদাহরণ:

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

public class NonModalDialogExample {
    public static void main(String[] args) {
        Frame f = new Frame("AWT Non-Modal Dialog Example");

        // Button to open Non-Modal Dialog
        Button btnOpenDialog = new Button("Open Non-Modal Dialog");
        btnOpenDialog.setBounds(50, 50, 200, 30);

        // ActionListener for button
        btnOpenDialog.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // Create a non-modal dialog
                Dialog nonModalDialog = new Dialog(f, "Non-Modal Dialog", false);
                nonModalDialog.setSize(300, 200);
                nonModalDialog.setLayout(new FlowLayout());

                // Add a label and button inside the non-modal dialog
                nonModalDialog.add(new Label("This is a Non-Modal Dialog"));
                Button closeBtn = new Button("Close");
                nonModalDialog.add(closeBtn);

                // ActionListener for close button
                closeBtn.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        nonModalDialog.setVisible(false); // Close the dialog
                    }
                });

                nonModalDialog.setVisible(true); // Show the non-modal dialog
            }
        });

        f.add(btnOpenDialog);
        f.setSize(400, 300);
        f.setLayout(null);
        f.setVisible(true);
    }
}

ব্যাখ্যা:

  • Dialog nonModalDialog = new Dialog(f, "Non-Modal Dialog", false); : এই লাইনটি Non-Modal Dialog তৈরি করে যেখানে false প্যারামিটারটি নির্দেশ করে এটি একটি Non-Modal Dialog হবে।
  • Non-Modal Dialog খোলার পর ব্যবহারকারী একযোগে অন্য উইন্ডোগুলোর সাথে কাজ করতে পারবেন, যেহেতু এটি Modal নয়।

Modal এবং Non-Modal Dialog-এর মধ্যে পার্থক্য:

বিশেষত্বModal DialogNon-Modal Dialog
উইন্ডো ইন্টারঅ্যাকশনঅন্য কোন উইন্ডোর সাথে ইন্টারঅ্যাকশন সীমিত থাকে যতক্ষণ না Dialog বন্ধ হয়।ব্যবহারকারী অন্য উইন্ডোগুলোর সাথে একযোগে কাজ করতে পারেন।
ব্যবহারফর্ম পূরণ, নিশ্চিতকরণ বার্তা বা গুরুত্বপূর্ণ তথ্য প্রদান করার জন্য ব্যবহৃত হয়।সাধারণত সাহায্য, তথ্য প্রদর্শন বা অতিরিক্ত বিকল্পগুলির জন্য ব্যবহৃত হয়।
ডায়ালগ বন্ধ না হওয়া পর্যন্তঅন্যান্য উইন্ডোগুলোর সাথে কাজ করা যায় না।অন্যান্য উইন্ডোগুলোর সাথে কাজ করা সম্ভব।
  • Modal Dialog প্রধানত ব্যবহারকারীর বাধ্যতামূলক ইনপুট বা অনুমোদন প্রয়োজন এমন পরিস্থিতিতে ব্যবহার করা হয়, যেমন সাবমিট ফর্ম বা কোনো গুরুত্বপূর্ণ বার্তা প্রদর্শন।
  • Non-Modal Dialog তখন ব্যবহৃত হয় যখন আপনি ব্যবহারকারীকে অন্যান্য উইন্ডোগুলোর সাথে একযোগে কাজ করার সুযোগ দিতে চান, যেমন অতিরিক্ত তথ্য প্রদর্শন করা।

AWT-তে Modal এবং Non-Modal Dialog তৈরি করতে Dialog ক্লাস এবং setModal() পদ্ধতি ব্যবহার করা হয়, যেখানে true বা false প্যারামিটার ব্যবহার করে আপনি Modal বা Non-Modal Dialog নির্বাচন করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...