إنشاء مربعات النصوص بإستخدام JTextField في جافا - ProgrammerTech
Language:

Search

إنشاء مربعات النصوص بإستخدام JTextField في جافا

  • Share this:
إنشاء مربعات النصوص بإستخدام JTextField في جافا

إنشاء مربع نص JTextField

الكلاس JTextField يُستخدَم لإنشاء مربع نص عن طريق مكتبة swing, أي كلاس نقوم بإنشاءه لا بُدَّ من إعطاءه كائنمربعات النصوص لا تكاد تخلو واجهة أو فورم في عالم البرمجة من مربعات النصوص لأن هي وسيلة لإظهار البيانات أمام المستخدم. فعندما نتعامل مع برنامج و نشاهد أمامنا بيانات, هذه البيانات تكون قد تمت إظهارها لك بواسطة مربع نص. سوف نتعلم كيفية إنشاء مربع نص عن طريق الكلاس JTextField, سنرى هذا في المثال اﻵتي.

مثال 1

package buttton;
import javax.swing.*;
public class Buttton {
    public static void main(String[] args) {
        JFrame F=new JFrame("مرحبا بكم");
        JButton B=new JButton("اضغط الزر");
        JTextField J=new JTextField();
        F.setSize(400, 400);
        B.setBounds(200, 100, 100, 50);
        J.setBounds(200, 50, 100, 25);
        F.add(B);
        F.add(J);
        F.setLayout(null);
        F.setVisible(true);
    }
}

في البداية قُمنا بإستدعاء المكتبة swing كاملة عبر أمر الإستدعاء import. و دخلنا للبرنامج الرئيسي ضمننا كلاس الواجهة JFrame و بعده ضمننا كلاس الزر JButton و من ثم. ضمننا كلاس المربع النصي أي حقل الإدخال عبر JTextField. بعد ذلك خصصنا أن الواجهة نريدها مربعة بإحداثيات 400*400 و حددنا أيضاً إحداثيات الزر "طوله. و عرضه" و حددنا إحداثيات الحقل النصي x و y و الطول و العرض. ثم بعد ذلك قُمنا بإضافة الزر الذي أنشأناه إلى الواجهة عبر F.add(B) و أضفنا أيضاً الحقل النصي إلى الواجهة عبر F.add(J). والأحجام والنقاط الخاصة بالزر وضعناها null و أظهرنا الواجهة عبر F.setVisible.

و عند تشغيل هذا البرنامج سوف يظهر بالشكل الآتي.

انشاء مربع نص JTextField لغة جافا

 

إنشاء حدث Event في جافا

إنشاء حدث event, سوف نتعلم في هذه الفقرة على كيفية إضافة حَدَث event و الحَدَث في البرمجة يعني أنه عندما نضغط على. شيئ يتم تنفيذ عملية معينة و من المهم عند برمجة الواجهات أن تكون مٌلِمّاً في الأحداث فهي بسيطة جداً. سنشرح مثال بسيط إعتماداً على المثال السابق بإضافة حَدَث يتم تنفيذه داخل المربع النصي عند الضغط على الزر.

مثال 2

package buttton;
import javax.swing.*;
import java.awt.event.*;
public class Buttton {
    public static void main(String[] args) {
        JFrame F=new JFrame("مرحبا بكم");
        JButton B=new JButton("اضغط الزر");
        JTextField J=new JTextField();
        F.setSize(400, 400);
        B.setBounds(200, 100, 100, 50);
        J.setBounds(200, 50, 100, 25);
        F.add(B);
        F.add(J);
        F.setLayout(null);
        F.setVisible(true);
        B.addActionListener((ActionEvent e) ->{
            J.setText("Muhammad");
        });
    }
}

في البداية قُمنا بإستدعاء مكتبة swing كاملة عبر أمر الإستدعاء import وقمنا بإستدعاء المكتبة التي نستخدمها للتعامل مع الأحداث و هي awt.event. ودخلنا للبرنامج الرئيسي ضمننا كلاس الواجهة JFrame و بعده ضمننا كلاس الزر JButton و من. ثم ضمننا كلاس المربع النصي أي حقل الإدخال عبر JTextField. بعد ذلك خصصنا أن الواجهة نريدها مربعة بإحداثيات 400*400 وحددنا أيضاً إحداثيات. الزر "طوله و عرضه" و حددنا إحداثيات الحقل النصي x و y و الطول و العرض. ثم بعد ذلك قُمنا بإضافة الزر الذي أنشأناه إلى الواجهة عبر F.add(B) و أضفنا أيضاً الحقل النصي إلى الواجهة عبر F.add(J). والأحجام والنقاط الخاصة بالزر وضعناها null وأظهرنا الواجهة عبر F.setVisible.

والحَدَث الذي نريد إضافته سوف يكون على الزر الموجود في الواجهة. و ضمننا كلاس الزر و إستخدمنا الإنترفيس addActionListener ثم فتحنا قوس واحد. ثم نضمن مكتبة الحدث الذي هي ActionEvent و أعطيناها الكائن e الذي سيقوم بفحص الحدث ثم وضعنا إشارة الناقص و إشارة أصغر من ->. و في جسم هذه الدالة الذي أنشأناها نقوم بكتابة الحَدَث الذي نريده و هو إظهار جملة في مربع النص عن طريق تحديد الكائن J. و إستخدمنا setText تعني قُم بإضافة جملة و الجملة كانت Muhammad. و عند تشغيل هذا البرنامج سوف يظهر بالشكل الآتي عند الضغط على الزر سوف تظهر جملة Muhammad بداخل الحقل النصي.

انشاء حدث Event في لغة جافا

 

العمليات الحسابية في الواجهات في Java

عملية الجمع ضمن واجهة في مكتبة swing, الجمع في الحقول النصية في جافا, سوف نتحدث عن كيفية جمع عدين ضمن واجهة GUI بها ثلاث مربعات نصية. تحدثنا عنها في الدرس السابق و زر JButton و يكون في المربع الأول عدد و المربع الثاني عدد و عند الضغط على الزر يتم جمعهم في المربع النصي الثالث.

مثال 3

package buttton;
import java.awt.event.*;
import javax.swing.*;
public class Buttton{

     public static void main(String []args){
        JFrame F=new JFrame("برنامج جمع عددين");
        JButton B=new JButton("اضغط");
        JTextField J1=new JTextField();
        JTextField J2=new JTextField();
        JTextField J3=new JTextField();
        F.setSize(500, 500);
        B.setBounds(150, 120, 60, 50);
        J1.setBounds(100, 50, 100, 25);
        J2.setBounds(200, 50, 100, 25);
        J3.setBounds(150, 80, 100, 25);
        F.add(B);
        F.add(J1);
        F.add(J2);
        F.add(J3);
        F.setLayout(null);
        F.setVisible(true);
        B.addActionListener((ActionEvent e)->{
            int x1= Integer.parseInt(J1.getText());
            int x2= Integer.parseInt(J2.getText());
            int x3=x1+x2;
            J3.setText(Integer.toString(x3));
     });
     }
}

قُمنا بإستدعاء مكتبة swing كاملة عبر أمر الإستدعاء import و قمنا بإستدعاء المكتبة التي نستخدمها للتعامل مع الأحداث و هي awt.event. و دخلنا إلى البرنامج الرئيسي ضمننا كلاس الواجهة JFrame و بعده ضمننا كلاس الزر JButton و من ثم. ضمننا ثلاث كلاسات للمربع النصي أي حقل الإدخال عبر JTextField و هي J1,J2,J3. بعد ذلك خصصنا أن الواجهة نريدها مربعة بإحداثيات 500*500 و حددنا أيضاً إحداثيات الزر "طوله و عرضه". و حددنا إحداثيات الحقول النصية 'س' السينات و 'ص' الصادات و الطول و العرض. ثم بعد ذلك قُمنا بإضافة جميع العناصر التي أنشأناها إلى الواجهة و قمنا بملائمة الواجهة مع العناصر. المضافة عبر setLayout وضعناها null وأظهرنا الواجهة عبر F.setVisible.

والحَدَث الذي نريد إضافته سوف يكون على الزر الموجود في الواجهة و ضمننا كلاس الزر. أي عند الضغط عليه يتم جمع العدد الأول مع العدد الثاني. وسنبدأ بالكائن الخاص بالزر وهو B يعني هذا الكلاس الخاص بالحدث و هو تابع للحزمة .event ثم. فتحنا قوس و كتبنا ActionEvent ثم حرف e الذي سوف يقوم بفحص الحدث. و بداخل هذه الدالة كتبنا الكود الذي نريده وهو الحصول على العدد من المربع النصي الأول و المربع النصي الثاني ووضعهم بالمربع النصي الثالث. أنشأنا متغير نوع int لأنها عملية جميع و إستخدمنا الدالة getText يعني إحصل على القيمة من المربع النصي الأول و نفس الأمر على المربع النصي الثاني. ثم وضعنا أمر الحصول على جمع القيمتين في المربع الثالث x3.

عند تشغيل الكود سوف يظهر بالشكل الآتي.

انشاء مربعات نصية لجمع عددين في جافا

 

و عند كتابة أرقام بداخل المربع الأول و المربع الثاني و الضغط على الزر سوف يتم جمع القيمتين. بشكل مباشر و يضعهم في المربع الثالث كما بالصورة الآتية.

عمليات الجمع في الواجهات swing في جافا

Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com