Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

Swingطريقة إنشاء JOptionPane يمثل Confirm Dialog

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


مثال

Main.java
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("JOptionPane demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
frame.setSize(400, 250); // هنا قمنا بتحديد حجم النافذة. عرضها 400 و طولها 250
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(null); // في النافذة بنفسنا Buttons لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا
// واحد Label و Buttons هنا قمنا بتعريف ثلاثة
JButton btn1 = new JButton("Delete your history");
JButton btn2 = new JButton("Do you like programming");
JButton btn3 = new JButton("Exit");
JLabel label = new JLabel("Here we display user interactions");
// Frame هنا قمنا بتحديد موقع و حجم جميع الأشياء التي سنضيفها في الـ
btn1.setBounds(95, 20, 200, 30);
btn2.setBounds(95, 60, 200, 30);
btn3.setBounds(95, 100, 200, 30);
label.setBounds(95, 150, 200, 30);
// Frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها في الـ
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.add(label);
// مرئية Frame هنا جعلنا الـ
frame.setVisible(true);
// btn1 عند النقر على الـ Confirm Dialog هنا قلنا أنه سيتم إظهار
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// result ثم تخزين قيمة الزر الذي نقر عليه المستخدم في المتغير Confirm Dialog سيتم إظهار
int result = JOptionPane.showConfirmDialog( frame,
"You are going to delete you history.\nAre you sure?",
"Delete History",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE );
// result على أساس القيمة التي تم تخزينها في المتغير label هنا سيتم تغيير نص الـ
switch (result) {
case JOptionPane.YES_OPTION:
label.setText("User click: Yes");
break;
case JOptionPane.NO_OPTION:
label.setText("User click: No");
break;
case JOptionPane.CANCEL_OPTION:
label.setText("User click: Cancel");
break;
case JOptionPane.CLOSED_OPTION:
label.setText("User click: Close");
break;
}
}
});
// btn2 عند النقر على الـ Confirm Dialog هنا قلنا أنه سيتم إظهار
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// result ثم تخزين قيمة الزر الذي نقر عليه المستخدم في المتغير Confirm Dialog سيتم إظهار
int result = JOptionPane.showConfirmDialog( frame,
"Do you like programming?",
"Question",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE );
// result على أساس القيمة التي تم تخزينها في المتغير label هنا سيتم تغيير نص الـ
switch (result) {
case JOptionPane.YES_OPTION:
label.setText("User click: Yes");
break;
case JOptionPane.NO_OPTION:
label.setText("User click: No");
break;
case JOptionPane.CLOSED_OPTION:
label.setText("User click: Close");
break;
}
}
});
// btn3 عند النقر على الـ Confirm Dialog هنا قلنا أنه سيتم إظهار
btn3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// result ثم تخزين قيمة الزر الذي نقر عليه المستخدم في المتغير Confirm Dialog سيتم إظهار
int result = JOptionPane.showConfirmDialog( frame,
"Close The program now?",
"Warning",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE );
// result على أساس القيمة التي تم تخزينها في المتغير label هنا سيتم تغيير نص الـ
switch (result) {
case JOptionPane.OK_OPTION:
System.exit(0);
break;
case JOptionPane.CANCEL_OPTION:
label.setText("User click: Cancel");
break;
case JOptionPane.CLOSED_OPTION:
label.setText("User click: Close");
break;
}
}
});
}
}
import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("JOptionPane demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس frame.setSize(400, 250); // هنا قمنا بتحديد حجم النافذة. عرضها 400 و طولها 250 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج frame.setLayout(null); // في النافذة بنفسنا Buttons لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا // واحد Label و Buttons هنا قمنا بتعريف ثلاثة JButton btn1 = new JButton("Delete your history"); JButton btn2 = new JButton("Do you like programming"); JButton btn3 = new JButton("Exit"); JLabel label = new JLabel("Here we display user interactions"); // Frame هنا قمنا بتحديد موقع و حجم جميع الأشياء التي سنضيفها في الـ btn1.setBounds(95, 20, 200, 30); btn2.setBounds(95, 60, 200, 30); btn3.setBounds(95, 100, 200, 30); label.setBounds(95, 150, 200, 30); // Frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها في الـ frame.add(btn1); frame.add(btn2); frame.add(btn3); frame.add(label); // مرئية Frame هنا جعلنا الـ frame.setVisible(true); // btn1 عند النقر على الـ Confirm Dialog هنا قلنا أنه سيتم إظهار btn1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // result ثم تخزين قيمة الزر الذي نقر عليه المستخدم في المتغير Confirm Dialog سيتم إظهار int result = JOptionPane.showConfirmDialog( frame, "You are going to delete you history.\nAre you sure?", "Delete History", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE ); // result على أساس القيمة التي تم تخزينها في المتغير label هنا سيتم تغيير نص الـ switch (result) { case JOptionPane.YES_OPTION: label.setText("User click: Yes"); break; case JOptionPane.NO_OPTION: label.setText("User click: No"); break; case JOptionPane.CANCEL_OPTION: label.setText("User click: Cancel"); break; case JOptionPane.CLOSED_OPTION: label.setText("User click: Close"); break; } } }); // btn2 عند النقر على الـ Confirm Dialog هنا قلنا أنه سيتم إظهار btn2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // result ثم تخزين قيمة الزر الذي نقر عليه المستخدم في المتغير Confirm Dialog سيتم إظهار int result = JOptionPane.showConfirmDialog( frame, "Do you like programming?", "Question", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE ); // result على أساس القيمة التي تم تخزينها في المتغير label هنا سيتم تغيير نص الـ switch (result) { case JOptionPane.YES_OPTION: label.setText("User click: Yes"); break; case JOptionPane.NO_OPTION: label.setText("User click: No"); break; case JOptionPane.CLOSED_OPTION: label.setText("User click: Close"); break; } } }); // btn3 عند النقر على الـ Confirm Dialog هنا قلنا أنه سيتم إظهار btn3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // result ثم تخزين قيمة الزر الذي نقر عليه المستخدم في المتغير Confirm Dialog سيتم إظهار int result = JOptionPane.showConfirmDialog( frame, "Close The program now?", "Warning", JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE ); // result على أساس القيمة التي تم تخزينها في المتغير label هنا سيتم تغيير نص الـ switch (result) { case JOptionPane.OK_OPTION: System.exit(0); break; case JOptionPane.CANCEL_OPTION: label.setText("User click: Cancel"); break; case JOptionPane.CLOSED_OPTION: label.setText("User click: Close"); break; } } }); } }

ستظهر لك النافذة التالية عند التشغيل.

كل زر يظهر Confirm Dialog مختلف في المحتوى و الأيقونة.

طريقة إنشاء JOptionPane يمثل confirm dialog في جافا

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة