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

Swingطريقة تحويل النصف المدخل في JTextField إلى رقم

المثال التالي يعلمك طريقة الحصول على النص المدخل في Text Field و تحويله إلى رقم.

المثال عبارة واجهة مستخدم فيها إثنين Text Field, إثنين Label و Button واحد.
عند النقر على الـ Button سيتم جمع القيم المدخلة في الـ Text Fields.


مثال

Main.java
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
 
public class Main {
 
    static JLabel label_plus = new JLabel("+");                 // label_plus إسمه Label هنا أنشأنا
    static JLabel label_result = new JLabel();                  // فارغ label_result إسمه Label هنا أنشأنا
    static JFrame frame = new JFrame("JTextField demo");        // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
    static JTextField text_field_1 = new JTextField();          // text_field_1 إسمه Text Field هنا أنشأنا
    static JTextField text_field_2 = new JTextField();          // text_field_2 إسمه Text Field هنا أنشأنا
    static JButton button = new JButton("=");                   // button إسمه Button هنا أنشأنا
 
    public static void main(String[] args) {
 
        label_plus.setBounds(135, 40, 50, 30);                  // frame في الـ label هنا قمنا بتحديد حجم و موقع الكائن
        label_result.setBounds(340, 40, 90, 30);                // frame في الـ label هنا قمنا بتحديد حجم و موقع الكائن
        text_field_1.setBounds(40, 40, 80, 30);                 // frame في الـ textField هنا قمنا بتحديد حجم و موقع الكائن
        text_field_2.setBounds(160, 40, 80, 30);                // frame في الـ textField هنا قمنا بتحديد حجم و موقع الكائن
        button.setBounds(270,40, 50, 30);                       // frame في الـ button هنا قمنا بتحديد حجم و موقع الكائن
 
        frame.add(label_plus);                                  // frame في الـ label_plus هنا أضفنا الكائن
        frame.add(label_result);                                // frame في الـ label_result هنا أضفنا الكائن
        frame.add(text_field_1);                                // frame في الـ text_field_1 هنا أضفنا الكائن
        frame.add(text_field_2);                                // frame في الـ text_field_2 هنا أضفنا الكائن
        frame.add(button);                                      // frame في الـ button هنا أضفنا الكائن
 
        frame.setSize(500, 140);                                // هنا قمنا بتحديد حجم النافذة. عرضها 500 و طولها 140
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
        frame.setLayout(null);                                  // لذلك قمنا بتحديد مكان كل شيء قمنا بإضافته في النافذة Layout Manager أي لم نستخدم أي null هنا وضعنا
        frame.setVisible(true);                                 // هنا جعلنا النافذة مرئية
 
        // button هنا نضع الأوامر التي نريد تنفيذها عند النقر على الزر
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    // num_2 و num_1 و تخزينهم في المتغيرات text_field_2 و الـ text_field_1 أولاً سيتم جلب الأرقام التي سيدخلها المستخدم في الـ
                    double num_1 = Double.valueOf(text_field_1.getText());
                    double num_2 = Double.valueOf(text_field_2.getText());
 
                    // label_result في حال قام المستخدم بإدخال أرقام, سيتم جمعهم ثم سيوضع الناتج كنص مكان المتغير
                    label_result.setForeground(Color.black);
                    label_result.setText("" + (num_1+num_2));
                }
                catch(Exception ex)
                {
                    // label_result في حال لم يقم المستخدم بإدخال أرقام, سيتم عرض النص التالي و تلوينه بالأحمر
                    label_result.setForeground(Color.red);
                    label_result.setText("خطأ في الإدخال !");
                }
            }
        });
 
    }
 
}

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

قم بإدخال أي نص في الـ Text Field ثم أنقر على الـ Button.

تحويل النص الموجود في ال JtextField إلى عدد في جافا