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

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

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


مثال

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, 200);                                  // هنا قمنا بتحديد حجم النافذة. عرضها 400 و طولها 200
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
        frame.setLayout(null);                                    // في النافذة بنفسنا Buttons لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا
 
        // واحد Label و Buttons هنا قمنا بتعريف خمسة إثنين
        JButton btn1 = new JButton("Enter Value");
        JButton btn2 = new JButton("Select Value");
        JLabel label = new JLabel("Returned Value:");
 
        // Frame هنا قمنا بتحديد موقع و حجم جميع الأشياء التي سنضيفها في الـ
        // منهم Button هنا قمنا بتحديد موقع و حجم كل
        btn1.setBounds(95, 30, 200, 30);
        btn2.setBounds(95, 70, 200, 30);
        label.setBounds(95, 110, 200, 30);
 
        // Frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها في الـ
        frame.add(btn1);
        frame.add(btn2);
        frame.add(label);
 
        // مرئية Frame هنا جعلنا الـ
        frame.setVisible(true);
 
        // btn1 عند النقر على الـ Input Dialog هنا قلنا أنه سيتم إظهار
        btn1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
 
                // result ثم تخزين القيمة التي قام المستخدم بإدخالها في المتغير Input Dialog سيتم إظهار
                String result = JOptionPane.showInputDialog(frame, "Enter value:", "", JOptionPane.PLAIN_MESSAGE);
 
                // Label في حال قام المستخدم بإدخال قيمة في مربع النص فإنه سيتم عرضها في الـ
                if(result != null)
                    label.setText("Returned Value: " + result);
 
            }
        });
 
        // btn2 عند النقر على الـ Input Dialog هنا قلنا أنه سيتم إظهار
        btn2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
 
                // Input Dialog في الـ Combo Box هنا قمنا بتعريف مصفوفة من الخيارات التي نريد عرضها كـ
                Object[] values = {"java", "css", "c++", "android"};
 
                // result ثم تخزين القيمة التي قام المستخدم بإدخالها في المتغير Input Dialog سيتم إظهار
                String result = (String) JOptionPane.showInputDialog(frame, "Select value", "", JOptionPane.PLAIN_MESSAGE, null, values, values[0]);
 
                // Label سيتم عرض القيمة التي قام المستخدم بإختيارها في الـ
                label.setText("Returned Value: " + result);
 
            }
        });
 
    }
 
}

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

كل زر يظهر Input Dialog مختلف في المحتوى.

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