مربعات الحوار عبارة عن أدوات توفر أوضاعًا تفاعلية لعمليات الحوار الحاسوب البشري. يوفر التطبيق إما معلومات للمستخدم من خلال مربع حوار ، أو يحصل على معلومات من المستخدم. مربع الحوار هو نافذة مؤقتة حيث يمكنك وضع عناصر تحكم للحصول على إدخال المستخدم. في التأرجح ، هناك فئتان حوار ، وهما فئة JDialog وفئة Joptionpane. توفر فئة JDialog بناء وإدارة مربعات الحوار المشتركة ؛
فئة JDialog
تعتبر فئة JDialog بمثابة فئة أساسية لمربع الحوار. تختلف مربعات الحوار عن النوافذ العامة.
تنقسم مربعات الحوار إلى إلزامي وغير إلزامية. لا يمكن لمربع الحوار الإلزامي مقاطعة عملية الحوار حتى يتم الانتهاء من مربع الحوار ، ولن يستجيب البرنامج للأحداث خارج مربع الحوار. يمكن لمربع الحوار غير اللاسلكي مقاطعة عملية الحوار والاستجابة للأحداث خارج مربع الحوار. يُطلق على النوع القسري أيضًا مربع حوار الوضع ، ويطلق على مربع الحوار غير المقدم أيضًا مربع حوار غير الوضع.
كائنات JDialog هي أيضًا حاوية ، بحيث يمكنك أيضًا تعيين مدير تخطيط إلى مربع الحوار JDialog. ومع ذلك ، لا يمكن إضافة المكونات مباشرة إلى مربع الحوار. نظرًا لأن مربع الحوار يعتمد على نافذة ، لإنشاء مربع حوار ، يجب عليك أولاً إنشاء نافذة.
هناك 3 منشئات شائعة الاستخدام لفئة JDialog:
هناك العديد من الطرق الشائعة الأخرى لفئة JDialog:
[مثال] يعلن Applet فئة نافذة المستخدم وفئة مربع الحوار. أدخل المعلومات المقابلة في مربع الحوار واضغط على الزر "موافق" في مربع الحوار. حدد طريقة المراقبة للزر ، وقم بنقل المعلومات التي تم إدخالها في مربع الحوار إلى نافذة المستخدم ، وعرض معلومات التحديد في مربع النص المقابل من نافذة المستخدم.
استيراد java.applet.*استيراد javax.swing. jtextfield static 1 ، text2 ؛ (100،100) = New JTextfield (Con.Add) ؛ static void retur nname (سلسلة s) {if (flg == 1) text1.settext ("الفاكهة المحددة هي:"+s) ؛ +s) ؛ 1 ؛ عنوان JLabel ؛ name ") ؛ text = new jtextfield (10) ؛ text.setedable (true) ؛ consetLayout (new FlowLayout ()) ؛ con.setsize (200،100) ؛ setModal (false) ؛ deen = new jbutton (" OK ") ؛ ؛المثال أعلاه ينشئ مربع حوار إلزامي. وبهذه الطريقة ، يمكنك رؤية تأثير بعض الحوارات في الواجهة.
قم بتغيير المثال أعلاه إلى مربع الحوار غير اللاسلكي مع وجود كمية صغيرة من التغييرات. أولاً ، قم بتغيير الكود "Super (F ، S ، True) ؛"
التغيير الثاني: اتضح أن الطريقة ReturnName () يتم استدعاؤها عند الرد على حدث زر التأكيد ، ويتم إرجاع السلسلة التي تم الحصول عليها بواسطة مربع الحوار إلى البرنامج. الآن عندما تنتهي سلسلة تحديد إدخال مربع النص ، يجب استدعاء الطريقة على الفور. للقيام بذلك ، تحتاج إلى مراقبة أحداث الإدخال في مربع النص وتسجيل الشاشة للنص:
public void actionperformed (ActionEvent e) {if ( النص. getText () ؛فئة Joptionpane
غالبًا ما يتم مواجهته في مواقف حوار بسيطة للغاية. توفر فئة Joptionpane مجموعة من الطرق الثابتة للسماح للمستخدمين بتحديد نوع معين من مربع الحوار. الرمز التالي هو مربع حوار الاختيار:
int result = joptionpane.showConfirmDialog (الوالد ، "هل تريد حقًا الخروج؟" ، "Exit Fairor" ، joptionpane.yes_no_cancel_option) ؛
النص "تأكيد" في الجزء الأوسط من اسم الطريقة هو نوع إنشاء مربع حوار ، وتأكيد النص يشير إلى أنه تم تحديد مربع حوار التأكيد. قم بتغيير النص تأكيدًا إلى أحد الأنواع الثلاثة الأخرى ويصبح مربع الحوار المقابل. المعنى الأربعة من الكود أعلاه هو: المعلمة الأولى تحدد النافذة الأصل لمربع الحوار هذا ؛ يحدد أن مربع الحوار يحتوي على ثلاثة الأزرار هي "نعم (ص) ،" لا (ن) ، و "تراجع". نتيجة الإرجاع للطريقة هي نتيجة استجابة المستخدم لمربع الحوار هذا ، راجع الإجابات المحتملة الواردة في الجدول 11-5.
يطلب مربع الحوار إدخال المستخدم لإدخال معلومات التحديد في نموذج قائمة أو مربع نص. فيما يلي رمز تخطيطي لمربع حوار إدخال يحدد مشروع تشغيل من القائمة:
String Result = (String) joptionpane.showInputDialog (Parent ، "يرجى تحديد رياضة" ، "This Is the Sport Selection Dialog" ، joptionpane.question_message ، null ، complice [] {"play football" ، "play playball" ، "،" الجري "،" حبل القفز "} ،" الجري ") ؛ المعلمة الرابعة هي نوع المعلومات ، والمعلمة الخامسة ليس لها تأثير خاص هنا ، وهي دائمًا لاغية ؛ يتضمن مربع الحوار أيضًا أزرار موافق وتراجع.
نوع مربع الحوار Joptionpane
النتائج التي تم إرجاعها بواسطة مربع الحوار Joptionpane
خيارات نوع المعلومات لمربع الحوار JoptionPane
في بعض الأحيان ، يقوم البرنامج ببساطة بإخراج بعض المعلومات ولا يتطلب من المستخدم الحصول على تعليقات. يمكن إنشاء مربع الحوار هذا مع النموذج التالي من التعليمات البرمجية:
joptionpane.showmessagedialog (الوالد ، "هذا هو برنامج java" ، "أنا مربع حوار معلومات الإخراج" ، joptionpane.plain_message) ؛
معنى المعلمات الثلاثة الأولى في الكود أعلاه هو نفسه كما هو موضح أعلاه ، والمعلمة النهائية هي أن نوع المعلومات محدد لعدم تضمين أي رموز.