سؤال

لقد واجهت مشكلة في إنشاء JFormattedTextField لاستخدام التواريخ بالتنسيق dd/MM/yyyy.على وجه التحديد، أثناء قيام المستخدم بالكتابة، يجب على المؤشر "القفز" بين الخطوط المائلة، والانتقال مباشرة إلى موضع الرقم التالي.

أيضًا، يجب على JFormattedTextField التحقق مما إذا كان التاريخ الذي تم إدخاله صالحًا، ورفضه بطريقة ما إذا كان التاريخ غير صالح، أو "تصحيحه" إلى تاريخ صالح، مثل إذا أدخل المستخدم "13" كشهر، فاضبطه على أنه "01" " وأضف +1 إلى السنة.

لقد حاولت استخدام قناع ("##/##/####") مع طريقة validate() الخاصة بـ JFormattedTextField للتحقق مما إذا كان التاريخ صالحًا، ولكن يبدو أن هذين لا يعملان جيدًا معًا (أو أنا أنا أخضر جدًا في جافا لأعرف كيف...:)، وبعد ذلك يمكن للمستخدم كتابة أي شيء في الحقل.

أي مساعدة بتقدير حقا!شكرًا!

هل كانت مفيدة؟

المحلول

قد تضطر إلى استخدام JTextField عادي واستدعاء setDocument() مع مستند مخصص.أوصي بتوسيع PlainDocument، فهذا يجعل من السهل التحقق من صحة الإدخال مع تغير المستند، وإضافة خطوط مائلة حسب الاقتضاء.

نصائح أخرى

حاول استخدام JCalendar

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top