صفر حشوة سبينر في جافا
سؤال
كيف تضيف صفر الحشو إلى JSpinner
?
منذ سبينر يخلق JFormattedTextField
نفسها، لا يمكنني فقط تمرير التنسيق في منشئ JFormattEdTextfield.
ليست هناك طريقة لتعيين التنسيق على موجودة JFormattedTextField
?
ما أريد: القيمة = 37، محرر = "0037"
تحديث:
لقد حاولت هذا كما هو مقترح:
JSpinner mySpinner = new JSpinner();
mySpinner.setEditor(
new JSpinner.NumberEditor(mySpinner, "####"));
والنتيجة ليست تغيير على الإطلاق إلى عرض بيانات Spinner. يبدو وكأنه حل معقول؛ هل حاول أي شخص بنجاح حتى أتمكن من التأكد من أنه مجرد شيء ضيق في طلبي الخاص؟
المحلول
يمكنك اضبط المحرر نفسك، مثل هذا:
// minimum of four digits
mySpinner.setEditor(new JSpinner.NumberEditor(mySpinner, "0000"));
"0000"
هو DecimalFormat
سلسلة تحدد أربعة أرقام، صفر مبطن حسب الضرورة؛ "####"
يحدد أربعة أرقام ولكن لا صفر وسادة.
ال DecimalFormat
وثائق API. يغطي سلاسل التنسيق بمزيد من التفاصيل.
نصائح أخرى
في اشارة الى Javadocs، JSPinner لديه محرر (jcomponent) طريقة. استخدم ذلك لتعيين jformattedtextfield الخاص بك، مع تنسيقه المخصص.