البرمجة

توضيح معالجة حقول نصية فارغة في Java Swing

لديك تطبيق تسجيل يتضمن عدة حقول نصية (JTextField) لإدخال تفاصيل الطلاب، وترغب في تحقق مما إذا كان أي من هذه الحقول فارغة عند النقر على زر “تسجيل” (Register)، وإبلاغ المستخدم بالحقول الفارغة بشكل محدد دون تعطيل الزر نفسه.

في الواقع، يمكنك تحقيق هذا بسهولة عن طريق مراجعة حالة كل حقل نصي، وتمييز الحقول الفارغة بلون أحمر وإبلاغ المستخدم بالحقول التي يجب عليه ملؤها. لتحقيق ذلك، يمكنك استخدام الكود التالي:

java
public void checkEmpty() { JTextField[] fields = {jTextField1, jTextField2, jTextField3, jTextField4, jTextField5, jTextField6}; String[] labels = {"Student First Name", "Student Middle Name", "Student Last Name", "Address Line 1", "Address Line 2", "Address Line 3"}; boolean anyEmpty = false; for (int i = 0; i < fields.length; i++) { JTextField field = fields[i]; String text = field.getText().trim(); // تجنب الفراغات الزائدة if (text.isEmpty()) { anyEmpty = true; field.setBackground(Color.RED); // تمييز الحقل الفارغ باللون الأحمر } else { field.setBackground(Color.WHITE); // استعادة لون الخلفية الافتراضي } } if (anyEmpty) { // إبلاغ المستخدم بالحقول الفارغة بشكل محدد String message = "You haven't entered: "; boolean firstEmpty = true; for (int i = 0; i < fields.length; i++) { JTextField field = fields[i]; String text = field.getText().trim(); if (text.isEmpty()) { if (!firstEmpty) { message += ", "; } message += labels[i]; firstEmpty = false; } } jLabel1.setText(message); } else { // حقول جميع النصوص ممتلئة، يمكنك متابعة عملية الحفظ في قاعدة البيانات هنا } }

هذا الكود يتحقق من كل حقل نصي إذا كان فارغًا أو لا، ويقوم بتمييز الحقول الفارغة بلون أحمر، ثم يقوم بإعداد رسالة محددة تذكر المستخدم بالحقول التي يجب ملؤها، ويعرض هذه الرسالة في JLabel المحددة (jLabel1).

المزيد من المعلومات

بالطبع، دعني أضيف بعض التوضيحات والتعليقات لتعميق فهم القارئ للكود وللمزيد من الوضوح:

java
public void checkEmpty() { // قائمة بجميع الحقول النصية التي يجب فحصها JTextField[] fields = {jTextField1, jTextField2, jTextField3, jTextField4, jTextField5, jTextField6}; // قائمة بتسميات الحقول النصية لاستخدامها في رسائل الإنذار String[] labels = {"Student First Name", "Student Middle Name", "Student Last Name", "Address Line 1", "Address Line 2", "Address Line 3"}; // مؤشر للتحقق مما إذا كان أي من الحقول فارغاً boolean anyEmpty = false; // الفحص على كل حقل نصي for (int i = 0; i < fields.length; i++) { JTextField field = fields[i]; // استخراج النص من الحقل وإزالة الفراغات الزائدة من بداية ونهاية النص String text = field.getText().trim(); // فحص إذا كان الحقل فارغاً أو لا if (text.isEmpty()) { anyEmpty = true; // تمييز الحقل الفارغ بلون أحمر لتبيينه للمستخدم field.setBackground(Color.RED); } else { // إذا كان الحقل ممتلئاً، استعادة لون الخلفية الافتراضي field.setBackground(Color.WHITE); } } // إذا كان هناك أي حقل فارغ، قم بإعداد رسالة تذكير للمستخدم if (anyEmpty) { // رسالة التذكير النهائية String message = "You haven't entered: "; // مؤشر للتحقق مما إذا كان الحقل الحالي الأول في الرسالة أم لا boolean firstEmpty = true; // التفحص مرة أخرى على كل حقل نصي لإضافة الحقول الفارغة إلى رسالة التذكير for (int i = 0; i < fields.length; i++) { JTextField field = fields[i]; String text = field.getText().trim(); // إذا كان الحقل فارغاً، قم بإضافته إلى رسالة التذكير if (text.isEmpty()) { // إذا كان هذا ليس الحقل الأول في الرسالة، أضف فاصلة if (!firstEmpty) { message += ", "; } // إضافة اسم الحقل إلى رسالة التذكير message += labels[i]; firstEmpty = false; } } // عرض رسالة التذكير في JLabel المحددة jLabel1.setText(message); } else { // إذا كانت جميع الحقول ممتلئة، يمكنك هنا استكمال الإجراءات اللازمة مثل حفظ البيانات في قاعدة البيانات } }

باستخدام هذا الكود، يمكنك تحقيق متطلباتك بشكل فعال، حيث سيتم تحديد الحقول الفارغة بلون أحمر وإظهار رسالة تذكير تحتوي على أسماء الحقول الفارغة بشكل محدد في JLabel المحددة. هذا يوفر للمستخدم تجربة استخدام أكثر وضوحًا ويساعده على تحديد البيانات التي يجب عليه إدخالها قبل القيام بعملية التسجيل.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر