Swing طريقة تحديد أقل و أكثر قيمة يمكن وضعها في الـ JSpinner

المثال التالي يعلمك طريقة إنشاء Model لجعل الـ Spinner مخصص فقط لتخزين أرقام. بالإضافة إلى تحديد أقل و أكثر قيمة يمكن وضعها فيه.


مثال

Main.java
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
 
public class Main {
 
    // هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
    static JFrame frame = new JFrame("JSpinner demo");
    static SpinnerNumberModel model = new SpinnerNumberModel(5, 0, 10, 1);
    static JSpinner spinner = new JSpinner(model);
    static JLabel label = new JLabel("Value: 5");
 
    public static void main(String[] args) {
 
        // frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
        spinner.setBounds(100, 40, 100, 30);
        label.setBounds(100, 80, 100, 30);
 
        // frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
        frame.add(spinner);
        frame.add(label);
 
        // frame هنا قمنا بتحديد خصائص الـ
        frame.setSize(300, 250);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
        frame.setVisible(true);
 
 
        // spinner هنا نضع الأوامر التي نريد تنفيذها في كل مرة يتم فيها تغيير قيمة الـ
        spinner.addChangeListener(new ChangeListener() {
            @Override
                // سيتم عرض القيمة التي إختارها
            public void stateChanged(ChangeEvent e) {
                label.setText("Value: " + spinner.getValue());
            }
        });
 
    }
 
}
		

ستظهر لك النافذة التالية عند التشغيل.

يمكنك النقر على الأسهم الموجودة في يمين الـ Spinner لزيادة أو إنقاص قيمته و تبديل نص الـ Label.

لاحظ أن القيمة الأولية التي تظهر الـ Spinner هي 0, و أقل قيمة يمكن إدخالها فيه هي 0, و أكثر قيمة يمكن إدخالها فيه هي 10, و لاحظ أن قيمة الـ Spinner تزيد أو تقل 1 فقط في كل مرة.

طريقة تحديد أقل و أكثر قيمة يمكن وضعها في ال JSpinner في جافا

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة