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 Dialog | Non-Modal Dialog |
|---|---|---|
| উইন্ডো ইন্টারঅ্যাকশন | অন্য কোন উইন্ডোর সাথে ইন্টারঅ্যাকশন সীমিত থাকে যতক্ষণ না Dialog বন্ধ হয়। | ব্যবহারকারী অন্য উইন্ডোগুলোর সাথে একযোগে কাজ করতে পারেন। |
| ব্যবহার | ফর্ম পূরণ, নিশ্চিতকরণ বার্তা বা গুরুত্বপূর্ণ তথ্য প্রদান করার জন্য ব্যবহৃত হয়। | সাধারণত সাহায্য, তথ্য প্রদর্শন বা অতিরিক্ত বিকল্পগুলির জন্য ব্যবহৃত হয়। |
| ডায়ালগ বন্ধ না হওয়া পর্যন্ত | অন্যান্য উইন্ডোগুলোর সাথে কাজ করা যায় না। | অন্যান্য উইন্ডোগুলোর সাথে কাজ করা সম্ভব। |
- Modal Dialog প্রধানত ব্যবহারকারীর বাধ্যতামূলক ইনপুট বা অনুমোদন প্রয়োজন এমন পরিস্থিতিতে ব্যবহার করা হয়, যেমন সাবমিট ফর্ম বা কোনো গুরুত্বপূর্ণ বার্তা প্রদর্শন।
- Non-Modal Dialog তখন ব্যবহৃত হয় যখন আপনি ব্যবহারকারীকে অন্যান্য উইন্ডোগুলোর সাথে একযোগে কাজ করার সুযোগ দিতে চান, যেমন অতিরিক্ত তথ্য প্রদর্শন করা।
AWT-তে Modal এবং Non-Modal Dialog তৈরি করতে Dialog ক্লাস এবং setModal() পদ্ধতি ব্যবহার করা হয়, যেখানে true বা false প্যারামিটার ব্যবহার করে আপনি Modal বা Non-Modal Dialog নির্বাচন করতে পারেন।
Read more