أفضل كورس Java swing - الكلاس JSlider

Java Swing الكلاس JSlider

الكلاس JSlider يستخدم لإضافة Slider في واجهة المستخدم.


بنا الكلاس JSlider 

public class JSlider
extends JComponent
implements SwingConstants, Accessible
	

كونستركتورات الكلاس JSlider

الجدول التالي يحتوي على كونستركتورات الكلاس JSlider.

الكونستركتور مع تعريفه
public JSlider() ينشئ كائن من الكلاس JSlider يمثل Slider أفقي قيمته الأولية تساوي 50.
قيمته يمكن أن تتراوح بين 0 و 100.
public JSlider(int orientation) ينشئ كائن من الكلاس JSlider يمثل Slider مع تحديد إتجاهه ( أفقي أو عامودي ) و قيمته الأولية تساوي 50.
قيمته يمكن أن تتراوح بين 0 و 100.

مكان الباراميتر orientation نضع إحدى الثوابت التالية:
  • SwingConstants.VERTICAL: يجعل الـ Slider يظهر عامودياً.

  • SwingConstants.HORIZONTAL: يجعل الـ Slider يظهر أفقياً.


يرمي الإستثناء IllegalArgumentException في حال لم يتم تحديد الـ Orientation بواسطة الثوابت المخصصة لذلك.
public JSlider(int min, int max) ينشئ كائن من الكلاس JSlider يمثل Slider أفقي مع تحديد أصغر و أكبر قيمة موجودة فيه.

  • مكان الباراميتر min نضع أصغر قيمة ممكن وجودها في الـ Slider.

  • مكان الباراميتر max نضع أكبر قيمة ممكن وجودها في الـ Slider.

public JSlider(int orientation, int min, int max, int value) ينشئ كائن من الكلاس JSlider يمثل Slider مع تحديد إتجاهه ( أفقي أو عامودي ), أصغر و أكبر قيمة موجودة فيه, و قيمته الأولية.

  • مكان الباراميتر orientation نضع إحدى الثوابت المخصصة لتحديد إتجاه الـ Slider.

  • مكان الباراميتر min نضع أصغر قيمة ممكن وجودها في الـ Slider.

  • مكان الباراميتر max نضع أكبر قيمة ممكن وجودها في الـ Slider.

  • مكان الباراميتر value نضع القيمة الأولية للـ Slider.

دوال الكلاس JSlider

الجدول التالي يحتوي على بعض دوال الكلاس JSlider.

الدالة مع تعريفها
public int getValue() ترجع قيمة كائن الـ JSlider الذي قام بإستدعائها.
public void setValue(int value) تستخدم لتحديد قيمة كائن الـ JSlider الذي قام بإستدعائها.
مكان الباراميتر value نضع القيمة.

ترمي الإستثناء IllegalArgumentException في حال كان نوع القيمة الموضوعة لا يلائم نوع الـ Model المستخدمة.
public void setMinorTickSpacing(int n) تستخدم لإظهار خطوط مثل خطوط المسطرة الصغيرة في كائن الـ JSlider الذي قام بإستدعائها و التي تساعد في معرفة قيمه.
مكان الباراميتر N نضع رقم يحدد المسافة بين كل خطين صغيرين.

ملاحظة: يجب إستدعاء الدالة setPaintTicks(true) هكذا أيضاً حتى تظهر الخطوط.
public void setMajorTickSpacing(int n) تستخدم لإظهار خطوط مثل خطوط المسطرة الكبيرة في كائن الـ JSlider الذي قام بإستدعائها و التي تساعد في معرفة قيمه.
مكان الباراميتر N نضع رقم يحدد المسافة بين كل خطين كبيرين.

ملاحظة: يجب إستدعاء الدالة setPaintTicks(true) هكذا أيضاً حتى تظهر الخطوط.
public void setPaintTicks(boolean visiblity) تستخدم لإظهار الخطوط الصغيرة و الكبيرة في كائن الـ JSlider الذي قام بإستدعائها.
مكان الباراميتر visibility نضع true لإظهار الخطوط, أو نضع false لإخفائهم.

ملاحظة: يجب تحديد المسافات بين الخطوط لأنها على أساسهم تقوم برسم الخطوط تحت الـ Slider.
public void setPaintLabels(boolean visiblity) تستخدم لإظهار القيم عند الخطوط الكبيرة في كائن الـ JSlider الذي قام بإستدعائها.
مكان الباراميتر visibility نضع true لإظهار الخطوط الكبيرة, أو نضع false لإخفائهم.

ملاحظة: يجب تحديد المسافات بين الخطوط الكبيرة لأنها على أساسهم تضع القيم عند الخطوط الكبيرة في الـ Slider.
public void addChangeListener(ChangeListener listener) تستخدم لتنفيذ أوامر معينة عند تغيير قيمة كائن الـ JSlider الذي قام بإستدعائها.
مكان الباراميتر listener نضع كائن من الكلاس ChangeListener و نفعل بداخله Override لدالة إسمها stateChanged(StateEvent e).

 أمثلة شاملة على الكلاس JSlider

طريقة إنشاء JSlider

المثال التالي يعلمك طريقة إنشاء كائن من الكلاس JSlider و إضافته في النافذة.


مثال إنشاء كائن من الكلاس JSlider و إضافته في النافذة.

Main.java
                    import javax.swing.JFrame;
                    import javax.swing.JSlider;

                    public class Main {

                    public static void main(String[] args) {

                    JFrame frame = new JFrame("JSlider demo");              // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
                    frame.setSize(300, 250);                                // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 250
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
                    frame.setLayout(null);                                  // في النافذة بنفسنا Slider لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا

                    JSlider slider = new JSlider();                         // Slider أي قمنا بإنشاء JSlider هنا أنشأنا كائن من الكلاس
                    slider.setBounds(40, 80, 200, 50);                      // frame في الـ Slider هنا قمنا بتحديد حجم و موقع الـ

                    frame.add(slider);                                      // frame في الـ slider هنا أضفنا الـ

                    frame.setVisible(true);                                 // هنا جعلنا النافذة مرئية

                    }

                    }
                  

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

طريقة إضافة JSlider في ال JFrame في جافا

 طريقة إنشاء JSlider عامودي

المثال التالي يعلمك طريقة إظهار الـ Slider عامودياً مع تحديد أصغر و أكبر قيمة فيه, بالإضافة إلى إظهار خطوط بجانبه في النافذة.


مثال إظهار الـ Slider عامودياً  .

Main.java
                    import javax.swing.JFrame;
                    import javax.swing.JSlider;

                    public class Main {

                    public static void main(String[] args) {

                    JFrame frame = new JFrame("JSlider demo");              // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
                    frame.setSize(300, 250);                                // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 250
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
                    frame.setLayout(null);                                  // في النافذة بنفسنا Slider لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا

                    JSlider slider = new JSlider(JSlider.VERTICAL, 0, 20, 10);  // عامودي, قيمته تترواح بين 0 و 20, و قميته الأولية هي 10 JSlider هنا أنشأنا كائن من الكلاس
                    slider.setMinorTickSpacing(1);                              // هنا جعلنا المسافة بين كل خطين صغيرين تساوي 1
                    slider.setMajorTickSpacing(5);                              // هنا جعلنا المسافة بين كل خطين كبيرين تساوي 5
                    slider.setPaintTicks(true);                                 // هنا جعلنا الخطوط تظهر
                    slider.setPaintLabels(true);                                // هنا جعلنا الترقيم يظهر بجانبه الخطوط الكبيرة

                    slider.setBounds(120, 30, 50, 160);                     // frame في الـ Slider هنا قمنا بتحديد حجم و موقع الـ

                    frame.add(slider);                                      // frame في الـ slider هنا أضفنا الـ

                    frame.setVisible(true);                                 // هنا جعلنا النافذة مرئية

                    }

                    }
                  

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

طريقة عرض ال JSlider عامودياً مع تحديد أصغر و أكبر قيمة فيه, بالإضافة إلى إظهار خطوط بجانبه في جافا

 طريقة عرض قيمة الـ JSlider كلما قام المستخدم بتغييرها

المثال التالي يعلمك طريقة عرض قيمة الـ Slider كلما قام المستخدم بتغيير قيمته.


مثال يشرح طريقة عرض قيمة الـ Slider 

Main.java
                    import javax.swing.JFrame;
                    import javax.swing.JLabel;
                    import javax.swing.JTextField;
                    import javax.swing.JSlider;
                    import javax.swing.event.ChangeEvent;
                    import javax.swing.event.ChangeListener;

                    public class Main {

                    // هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
                    static JFrame frame = new JFrame("JSlider demo");
                    static JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 20, 10);
                    static JLabel label = new JLabel("Selected Value");
                    static JTextField textField = new JTextField();

                    public static void main(String[] args) {

                    textField.setText( String.valueOf(slider.getValue()));

                    // تحته Slider هنا قمنا بعرض الخطوط و قيم الـ
                    slider.setMinorTickSpacing(1);
                    slider.setMajorTickSpacing(5);
                    slider.setPaintTicks(true);
                    slider.setPaintLabels(true);

                    // frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
                    slider.setBounds(40, 50, 200, 50);
                    label.setBounds(80, 130, 100, 30);
                    textField.setBounds(175, 134, 20, 22);

                    // frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
                    frame.add(slider);
                    frame.add(label);
                    frame.add(textField);

                    // frame هنا قمنا بتحديد خصائص الـ
                    frame.setSize(300, 250);
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setLayout(null);
                    frame.setVisible(true);


                    // slider هنا نضع الأوامر التي نريد تنفيذها في كل مرة يتم فيها تغيير قيمة الـ
                    slider.addChangeListener(new ChangeListener() {

                    // textField سيتم عرض القيمة التي إختارها المستخدم في الـ
                    @Override
                    public void stateChanged(ChangeEvent e) {
                    textField.setText( String.valueOf(slider.getValue()));
                    }

                    });

                    }

                    }
                  

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

طريقة الحصول على قيمة JSlider في جافا

أفضل كورس    Java Swing 

أفضل كورس لتعلم Java swing  بالعربي شامل وكامل الى الاحتراف  .