الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اتحقق من القيمة المدخلة في JTextField

مغلقمُجاب
بدأه rahmony في 19 نوفمبر 2013 · 2 رد · 870 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتهه


 


 


يعطيكم العافية ي شباب ,, احتاج مساعده منكم


لدي استفسار وهو كيف اتحقق من القيمة المدخلة في JTextField ؟


لدي  JTextField يستقبل نص و اريد طريقة للتحقق من ان القيمة المدخلة نص ؟


بحيث لا يستقبل ارقام !!! هل ينفع استخدم regular expression كـ matches


اللي كنا نستخدمها مع النصوص بـ بئية الكونسول ؟ او في Event  تقوم بهذا العمل ؟


 


لانه اللي انا افكر فيه انه لما المستخدم يدخل رقم ( بدل من النص )  اول م يطلع من الـ JTextField


وقبل م يضغط على JButton على طول ينمسح الرقم المدخل لانه قيمة خاطئة .


 


.


.


.


 


ي ليت تفيدوني ,, واي معلومة اكيد راح تساعدني مهما كانت بسيططة وصغيرة


 


 


في انتظاركم ودمتم بحفظ الرحمن


#2 أفضل إجابة

و عليكم السلام

 

قم بإنشاء DocumentFilter خاص بك و استخدم beep لإصدارصوت تنبيه عند كتابة رقم بدلا من حرف :

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.DocumentFilter;

public class FilterString extends DocumentFilter {

    @Override
    public void replace(FilterBypass fb, int i, int j, String str, AttributeSet as) throws BadLocationException {
        for (int n = str.length(); n > 0; n--) {
            char c = str.charAt(n - 1);// get a single character of the string
            if (Character.isLetter(c) || c == ' ') {
                // if its an alphabetic character
                super.replace(fb, i, j, String.valueOf(c), as);
            } else {
                // it was not an alphabetic character or white space
                java.awt.Toolkit.getDefaultToolkit().beep();
            }
        }
    }
}

بعد ذلك قم بإنشاء JTextField بشكل طبيعي :

JTextField test = new JTextField();

و ارفق له الـ Filter للتحقق من المُدخلات :

((AbstractDocument) test.getDocument()).setDocumentFilter(new FilterString());

نحياتي.

تم تعديل هذه المشاركة بواسطة Snack3r في 19 نوفمبر 2013 في 19:27

2
#3

يعطيكك العافية ماقصرت الكود يعمل مع النصوص وكمان قدرت اخليه يعمل مع الارقام بتغير بسيط


 


 


شاكر لك


هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…