الوظيفة الرئيسية لمربع الحوار هي أن يقوم التطبيق أو موقع الويب باسترداد بعض المدخلات من المستخدم. يمكن أن يكون هذا الإدخال إقرارًا بأنهم قد قرأوا رسالة أو شيئًا ما قاموا بإدخاله في منطقة النص.
مربع حوار يجذب انتباه المستخدم على الفور. إنها أداة مثالية لجمع أو عرض المعلومات المهمة.
تعد Java لغة متنوعة توفر عدة فئات لإنشاء مربعات حوار. تتضمن هذه الفئات JOptionPane و JDialog و JFrame.
فئة JOptionPane
يمكنك إنشاء مربع حوار قياسي باستخدام إحدى الطرق الثابتة العديدة التي تنتمي إلى فئة JOptionPane. وتشمل هذه:
- showMessageDialog ()، والتي تنقل رسالة إلى المستخدم.
- showConfirmDialog ()، الذي يطرح سؤالاً يتطلب التأكيد.
- showInputDialog ()، والذي يطالب المستخدم بالإدخال.
- showOptionDialog ()، وهي مزيج من ثلاث طرق أخرى.
إنشاء مربع حوار JOptionPane
يستورد javax.swing. JFrame.
يستورد javax.swing. JOptionPane ؛عامصف دراسيJOptionPaneApp{
JOptionPaneApp () {
إطار JFrame = الجديد JFrame () ؛
JOptionPane.showMessageDialog (frame، "هذه نافذة رسالة JOptionPane.") ؛
}
عامثابتةفارغالأساسية(سلسلة [] args){
الجديد JOptionPaneApp () ،
}
}
يقوم الكود أعلاه بإنشاء مربع الحوار التالي:
على الرغم من أن JOptionPane يوفر مربعات حوار قياسية ، إلا أنه يحتوي على العديد من الخيارات التي تسمح لك بتعديل سلوكه. على سبيل المثال ، يمكن أن يتخذ مربع حوار الرسالة نوعًا من عدة أنواع. ما ورد أعلاه هو مثال على INFORMATION_MESSAGE، وهو الافتراضي. أنواع الرسائل الأخرى هي:
- رسالة خطأ
- رسالة تحذير
- QUESTION_MESSAGE
- PLAIN_MESSAGE
إنشاء رسالة خطأ
فيما يلي مثال على كيفية استخدام نوع رسالة مختلف في مربع حوار JOptionPane:
JOptionPane.showMessageDialog (إطار ، "هذه نافذة رسالة خطأ JOptionPane." ،
"خطأ" ، JOptionPane. رسالة خطأ)؛
استبدل ملف showMessageDialog () في البرنامج الأصلي بسطر الشفرة أعلاه ، وسترى مربع حوار الخطأ التالي:
فئة الحوار JDialog
تتيح لك فئة JDialog إنشاء مربعات حوار مخصصة. هذه فئة جافا ينتمي إلى javax.swing حزمة وتوسيع فئة الحوار. لديها إمكانية الوصول إلى مجموعة واسعة من الأساليب المباشرة وغير المباشرة. فئة Java هذه بها إجمالي 16 منشئو جافا.
بصرف النظر عن المُنشئ الافتراضي ، يأخذ كل واحد من الخمسة عشر الآخرين إطارًا أو نافذة أو مربع حوار مع مجموعة من الوسائط المتعددة الأخرى.
تشمل مُنشئي JDialog الأساسيين ما يلي:
- JDialog () ينشئ مربع حوار بدون إطار أو عنوان أو وضع.
- JDialog (مالك الحوار ، عنوان السلسلة ، الشكل المنطقي) ينشئ مربع حوار مع مالك الحوار وعنوان سلسلة ووضع.
- JDialog (مالك الإطار ، عنوان السلسلة ، النمط المنطقي) ينشئ مربع حوار به مالك الإطار وعنوان السلسلة والوضع.
- JDialog (مالك النافذة ، عنوان السلسلة ، النموذج المنطقي) ينشئ مربع حوار مع مالك النافذة وعنوان السلسلة والوضع.
تكوين مربع حوار JDialog
يستورد java.awt. تخطيط تدفق؛
يستورد java.awt.event. حدث
يستورد java.awt.event. برنامج ActionListener
يستورد javax.swing. JButton.
يستورد javax.swing. جدالوغ
يستورد javax.swing. JFrame.
يستورد javax.swing. JLabel.
يستورد javax.swing. نافذةعامصف دراسيJDialogApp{
JDialogApp () {
إطار JFrame = الجديد JFrame () ؛
حوار JDialog = الجديد JDialog (إطار ، حقيقي);
مربع الحوار. setLayout (الجديد تخطيط تدفق())؛JLabel displayText = الجديد JLabel ("هذه نافذة JDialog.")؛
JButton btn = الجديد JButton ("موافق") ؛btn.addActionListener (الجديد برنامج ActionListener () {
عامفارغالعمل المؤدى(حدث الحدث هـ){
مربع الحوار. setVisible (خاطئة);
}
});مربع الحوار (displayText) ؛
الحوار. add (btn) ؛مربع الحوار. set الحجم (200,150);
Dialog.setTitle ("نافذة الحوار") ؛
مربع الحوار. setVisible (حقيقي);
الحوار.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE) ،
}
عامثابتةفارغالأساسية(سلاسل السلسلة []){
الجديد JDialogApp () ،
}
}
يقوم الكود أعلاه بإنشاء مربع الحوار التالي:
هناك عدة جوانب مهمة في الكود يجب أن تلاحظها. يستخدم البرنامج ملف JDialog (مالك الإطار ، نموذج منطقي) المُنشئ ، والذي يمرر إليه أ JFrame والقيمة "الحقيقية" كوسيطات. JFrame هو مالك JDialog ، مما يعني أنه مسؤول عن عرض مربع الحوار. تعني القيمة "true" أن مربع الحوار يحظر الإدخال إلى النوافذ الأخرى ذات الصلة عند عرضه.
المُنشئ في الكود أعلاه لا يأخذ العنوان كوسيطة له. ومع ذلك ، يحتاج صاحب الإطار إلى لقب. لذلك ، لهذه المهمة ، يمكنك استخدام ملف تعيين العنوان() وهو متاح من خلال فئة الحوار التي يقوم JDialog بتوسيعها. الطرق الأخرى المهمة في الكود هي setVisible (), setSize ()، و setDefaultCloseOperation ().
تأخذ setVisible قيمة منطقية وهي مسؤولة عن عرض الإطار. تأخذ setSize ارتفاع وعرض نافذة الحوار. تأخذ setDefaultCloseOperation واحدة من ثلاث قيم لتحديد ما يحدث عندما يغلق المستخدم مربع الحوار.
فئة JFrame
يستخدم كل من JDialog و JOptionPane فئة JFrame لإنشاء مربعات حوار. ومع ذلك ، يمكن لفئة JFrame إنشاء مربعات حوار من تلقاء نفسها. تقوم فئة JFrame بتوسيع فئة الإطار ، وهي تشبه إلى حد كبير فئة JDialog ، فهي تتيح لك إنشاء مربعات حوار مخصصة.
يحتوي JFrame على أربعة مُنشئين والعديد من الطرق المباشرة وغير المباشرة التي ستحتاج إلى استخدامها لإنشاء مربع حوار.
إنشاء مربع حوار JFrame
يستورد java.awt.event. حدث
يستورد java.awt.event. برنامج ActionListenerيستورد javax.swing. JButton.
يستورد javax.swing. JFrame.
يستورد javax.swing. JLabel.
يستورد javax.swing. يانيل.
يستورد javax.swing. نافذةعامصف دراسيJFrameApp{
JFrameApp () {
إطار JFrame = الجديد JFrame () ؛
frame.setTitle ("نافذة الحوار") ؛
لوحة JPanel = الجديد JPanel () ؛JLabel displayText = الجديد JLabel ("هذه نافذة JFrame.")؛
panel.add (displayText) ؛
JButton btn = الجديد JButton ("زر موافق") ؛btn.addActionListener (الجديد برنامج ActionListener () {
عامفارغالعمل المؤدى(حدث الحدث هـ){
frame.setVisible (خاطئة);
}
});panel.add (btn) ؛
frame.add (لوحة) ؛
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE) ،
frame.setSize (250, 150);
frame.setVisible (حقيقي);
}
عامثابتةفارغالأساسية(سلسلة [] args){
الجديد JFrameApp () ،
}
}
يقوم الكود أعلاه بإنشاء مربع الحوار التالي:
يستخدم الكود مُنشئ JFrame الافتراضي ، والعديد من الطرق المألوفة ، مثل تعيين العنوان() الطريقة (المستخدمة في تطبيق JDialog أعلاه). كائن غير مألوف في البرنامج أعلاه هو يانيل، وهي حاوية عامة. يمنح هذا JFrame المرونة لإضافة تخطيطات ومكونات متعددة إلى إطار.
ال برنامج ActionListener () و العمل المؤدى() الطرق التي تتعامل مع حدث نقر المستخدم على نعم زر.
ما فئة Java الأفضل لإنشاء مربعات الحوار؟
الغرض الوحيد لفئة JOptionPane هو جعل عملية إنشاء مربع الحوار أكثر ملاءمة لمطوري Java. ومع ذلك ، إذا كنت بحاجة إلى مربع حوار أكثر تخصيصًا ، فإن فئة JDialog هي الخيار التالي الأفضل.
تقوم فئة JFrame بإنشاء واجهات مستخدم ، ولكن يمكنك استخدامها لإنشاء العديد من العناصر المختلفة لواجهة المستخدم الرسومية ، بما في ذلك مربعات الحوار.
يحتوي مربع الحوار الذي تم إنشاؤه باستخدام فئة JFrame على رمز مصغر ، بينما لا يحتوي الآخرون على ذلك. إذا كنت تريد مربع حوار شكلي ، يجب على المستخدم اتخاذ إجراء قبل إكمال مهمة ، فإن JFrame ليس هو أفضل طريقة.
كيف تكتب أول تطبيق Java GUI
اقرأ التالي
مواضيع ذات صلة
- برمجة
- برمجة
- جافا
- دروس الترميز
نبذة عن الكاتب

قاديشا كين مطور برامج متكامل وكاتب تقني / تقني. لديها قدرة مميزة على تبسيط بعض المفاهيم التكنولوجية الأكثر تعقيدًا ؛ إنتاج مادة يمكن لأي مبتدئ في مجال التكنولوجيا فهمها بسهولة. إنها شغوفة بالكتابة وتطوير البرامج الشيقة والسفر حول العالم (من خلال الأفلام الوثائقية).
اشترك في نشرتنا الإخبارية
انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!
انقر هنا للاشتراك