مقدمة
الكلاس JOptionPane
يستخدم لإظهار نافذة خيارات (Option Pane) أمام للمستخدم لعدة أسباب:
- لتحذيره أو إعلامه بشيء ما.
- لسؤاله إذا كان موافقاً على أمر ما أم لا.
- ليطلب منه إدخال قيمة.
الكلاس JOptionPane
يوفر دوال كثيرة يمكن إستخدامها للحصول Message Dialog, Confirm Dialog و Input Dialog.
مصطلحات تقنية
المصطلح |
معناه |
Message Dialog |
عبارة عن نافذة منبثقة تستخدم لإعلام المستخدم بشيء ما.
نحصل على Message Dialog بواسطة الدالة showMessageDialog() . |
Confirm Dialog |
عبارة عن نافذة منبثقة تستخدم لسؤال المستخدم إذا كان موافقاً على شيء ما أم لا.
نحصل على Confirm Dialog بواسطة الدالة showConfirmDialog() . |
Input Dialog |
عبارة عن نافذة منبثقة تستخدم لجعل المستخدم يقوم بإدخال أو إختيار قيمة ما
نحصل على Input Dialog بواسطة الدالة showInputDialog() . |
معلومة تقنية
الـ Option Pane عبارة عن Internal Frame لأنها عبارة عن نافذة تظهر بداخل النافذة التي تستدعى منها.
بناؤه
public class JOptionPane
extends JComponent
implements Accessible
أشكال الـ JOptionPane
JOptionPane.showMessageDialog(null, "This is a plain message", "Plain Message", JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "This is an information message", "Information Message", JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog(null, "This is a warning message", "Warning Message", JOptionPane.WARNING_MESSAGE);
JOptionPane.showMessageDialog(null, "This is an error message", "Error Message", JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(null, "This is a question message", "Quesiton Message", JOptionPane.QUESTION_MESSAGE);
JOptionPane.showConfirmDialog(null,
"You are going to delete you history.\nAre you sure?",
"Delete History",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE);
JOptionPane.showConfirmDialog(null,
"Do you like programming?",
"Quesiton",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
JOptionPane.showConfirmDialog(null,
"Close The program now?",
"Warning",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE);
JOptionPane.showInputDialog(null, "Enter value:", "", JOptionPane.PLAIN_MESSAGE);
Object[] values = {"java", "css", "c++", "android"};
JOptionPane.showInputDialog(null, "Select value", "", JOptionPane.PLAIN_MESSAGE, null, values, values[0]);
أمثلة شاملة
المثال الأول
المثال التالي يعلمك طريقة إظهار Message Dialog. كل زر يظهر Message Dialog مختلف.

شاهد المثال »
المثال الثاني
المثال التالي يعلمك طريقة إظهار Confirm Dialog. كل زر يظهر Confirm Dialog مختلف.
إضافةً إلى ذلك ستتعلم كيف تنفذ أوامر معينة بناءاً على كل زر موجود في الـ Confirm Dialog في حال قام المستخدم بالنقر عليه.

شاهد المثال »
المثال الثالث
المثال التالي يعلمك طريقة إظهار Input Dialog.
عند النقر على الزر Search سيظهر Input Dialog تطلب من المستخدم إدخال قيمة في Text Field.
عند النقر على الزر Select سيظهر Input Dialog تطلب من المستخدم إختيار قيمة من Combo Box.

شاهد المثال »