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 نضع إحدى الثوابت التالية:
يرمي الإستثناء IllegalArgumentException في حال لم يتم تحديد الـ Orientation بواسطة الثوابت المخصصة لذلك. |
|
public JSlider(int min, int max)
ينشئ كائن من الكلاس JSlider يمثل Slider أفقي مع تحديد أصغر و أكبر قيمة موجودة فيه.
|
|
public JSlider(int orientation, int min, int max, int value)
ينشئ كائن من الكلاس JSlider يمثل 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
و إضافته في النافذة.
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
عامودي
المثال التالي يعلمك طريقة إظهار الـ Slider عامودياً مع تحديد أصغر و أكبر قيمة فيه, بالإضافة إلى إظهار خطوط بجانبه في النافذة.
مثال إظهار الـ Slider عامودياً .
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
كلما قام المستخدم بتغييرها
المثال التالي يعلمك طريقة عرض قيمة الـ Slider كلما قام المستخدم بتغيير قيمته.
مثال يشرح طريقة عرض قيمة الـ Slider
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())); } }); } }
•ستظهر لك النافذة التالية عند التشغيل.
أفضل كورس Java Swing
أفضل كورس لتعلم Java swing بالعربي شامل وكامل الى الاحتراف .