Java Swing الكلاس JDialog
مقدمة Swing - الكلاس JDialog
الكلاس JDialog
يستخدم لإضافة نافذة مخصصة (Custom Dialog).
ميزة هذه النافذة أنك تستطيع وضع أي شيء بداخلها.
بنا Swing - الكلاس JDialog
public class JDialog extends Dialog implements WindowConstants, Accessible, RootPaneContainer
كونستركتورات الكلاس JDialog
الجدول التالي يحتوي على أهم الكونستركتورات الموجودة في الكلاس JDialog
.
الكونستركتور مع تعريفه | |
---|---|
public JDialog()
ينشئ كائن من الكلاس JDialog يمثل Dialog ليس له عنوان و بدون تحديد الـ Frame التي سيظهر بداخلها. |
|
public JDialog(Frame owner)
ينشئ كائن من الكلاس JDialog يمثل Dialog ليس له عنوان و يظهر بداخل Frame محددة.مكان الباراميتر owner نضع الـ Frame التي نريده أن يظهر بداخلها. |
|
public JDialog(Frame owner, String title)
ينشئ كائن من الكلاس JDialog يمثل Dialog له عنوان و يظهر بداخل Frame محددة.
|
|
public JDialog(Frame owner, boolean modal)
ينشئ كائن من الكلاس JDialog يمثل Dialog ليس له عنوان و يظهر بداخل Frame محددة.هنا يمكنك تحديد إذا كنت تريد جعل المستخدم قادر على التعامل مع الـ Frame و الـ Dialog في نفس الوقت.
|
|
public JDialog(Frame owner, String title, boolean modal)
ينشئ كائن من الكلاس JDialog يمثل Dialog له عنوان و يظهر بداخل Frame محددة.هنا يمكنك تحديد إذا كنت تريد جعل المستخدم قادر على التعامل مع الـ Frame و الـ Dialog في نفس الوقت.
|
طريقة إنشاء JDialog
و إظهاره عند النقر على زر
المثال التالي يعلمك طريقة إنشاء كلاس خاص يمثل Dialog له محتوى بسيط.
سنقوم بإظهار الـ Dialog عند النقر على زر Open Dialog في الـ Frame.
مثال يعلمك طريقة إنشاء كلاس خاص يمثل Dialog له محتوى بسيط.
import javax.swing.JFrame; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class CustomDialog { // JButton و JLabel و JDialog هذا الكلاس يحتوي على private JDialog dialog; private final JLabel label; private final JButton button; // التي نريده أن يظهر بداخلها Frame هنا قلنا أنه عند إنشاء كائن من هذا الكلاس يجب أن نمرر له الـ public CustomDialog(JFrame f) { // Dialog و تعريف الأشياء التي سنضيفها في الـ Frame بالـ Dialog هنا قمنا بربط الـ dialog = new JDialog(f); label = new JLabel("This is a custom dialog"); button = new JButton("close"); // Dialog هنا قمنا بتحديد موقع و جميع الأشياء التي سنضيفها في الـ label.setBounds(40, 50, 150, 30); button.setBounds(210, 50, 70, 30); // Dialog هنا قمنا بتحديد بعض خصائص الـ dialog.setLocationRelativeTo(f); dialog.setLayout(null); dialog.setSize(340, 170); dialog.setTitle("Custom Dialog"); dialog.setModal(false); // Dialog بداخل الـ button و الـ label هنا قمنا بوضع الـ dialog.add(label); dialog.add(button); // button عند النقر على الـ Dialog هنا قلنا أنه سيتم إخفاء الـ button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dialog.setVisible(false); } }); } // Dialog هنا قمنا ببناء دالة لإظهار الـ public void show() { dialog.setVisible(true); } // Dialog هنا قمنا ببناء دالة لإخفاء الـ public void hide() { dialog.setVisible(false); } }
import javax.swing.JFrame; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Main { public static void main(String[] args) { // هنا قمنا بإنشاء النافذة مع تحديد بعض خصائصها JFrame frame = new JFrame("JDialog demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس frame.setSize(400, 200); // هنا قمنا بتحديد حجم النافذة. عرضها 320 و طولها 300 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج frame.setLayout(null); // في النافذة بنفسنا Tabbed Pane لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا // Panels هنا قمنا بتعريف ثلاثة JButton button = new JButton("Open Dialog"); button.setBounds(40, 80, 130, 30); frame.add(button); // منهم Panel هنا قمنا بإعطاء لون خلفية لكل CustomDialog dialog = new CustomDialog(frame); // مرئية Frame هنا جعلنا الـ frame.setVisible(true); // button عند النقر على الـ Input Dialog هنا قلنا أنه سيتم إظهار button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dialog.show(); } }); } }
•عند النقر على زر Open Dialog سيظهر لك الـ Dialog كما في الصورة التالية.
دورة تعلم الجافا Swing