Swing - الكلاس JRadioButton

  الكلاس JRadioButton

يستخدم الكلاس JRadioButton   لإضافة (Radio Button) في واجهة المستخدم .

الـ Radio Button يستخدم في العادة عند وضع عدة خيارات ( Options ) للمستخدم و تجبره على إختيار واحدة منهم.

لوضع مجموعة من الـ Radio Buttons و جعل Radio Button واحد يمكن إختياره في نفس الوقت, عليك وضعهم ضمن مجموعة واحدة.
لا تقلق ستفهم المقصود لاحقاً من الأمثلة.


بنا الكلاس JRadioButton 

public class JRadioButton
	  extends JToggleButton
	  implements Accessible
	

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

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

الكونستركتور مع تعريفه
public JRadioButton() ينشئ كائن من الكلاس JRadioButton يمثل Radio Button لا يوجد بجانبه نص أو صورة.
public JRadioButton(String text) ينشئ كائن من الكلاس JRadioButton يمثل Radio Button بجانبه نص.
مكان الباراميتر text نمرر النص الذي نريد وضعه بجانب الـ Radio Button.
public JRadioButton(String text, boolean selected) ينشئ كائن من الكلاس JRadioButton يمثل Radio Button بجانبه نص.
  • مكان الباراميتر text نمرر النص الذي نريد وضعه بجانب الـ Radio Button.

  • مكان الباراميتر selected نمرر القيمة true في حال أردنا إختيار الـ Radio Button.

public JRadioButton(Icon image) ينشئ كائن من الكلاس JRadioButton يمثل Radio Button بجانبه أيقونة.
مكان الباراميتر Icon نمرر كائن من الإنترفيس Icon يمثل الأيقونة التي سيتم وضعها بجانب الـ Radio Button.
public JRadioButton(Icon image, boolean selected) ينشئ كائن من الكلاس JRadioButton يمثل Radio Button بجانبه أيقونة.
  • مكان الباراميتر Icon نمرر كائن من الإنترفيس Icon يمثل الأيقونة التي سيتم وضعها بجانب الـ Radio Button.

  • مكان الباراميتر selected نمرر القيمة true في حال أردنا إختيار الـ Radio Button.

public JRadioButton(String text, Icon image, boolean selected) ينشئ كائن من الكلاس JRadioButton يمثل Radio Button بجانبه نص و أيقونة معاً.
  • مكان الباراميتر text نمرر النص الذي نريد وضعه بجانب الـ Radio Button.

  • مكان الباراميتر Icon نمرر كائن من الإنترفيس Icon يمثل الأيقونة التي سيتم وضعها بجانب الـ Radio Button.

  • مكان الباراميتر selected نمرر القيمة true في حال أردنا إختيار الـ Radio Button.

public JRadioButton(Action a) ينشئ كائن من الكلاس JRadioButton يمثل Radio Button لا يوجد بجانبه نص أو صورة.
مكان الباراميتر a نمرر كائن من الكلاس Action يمثل ماذا سيحدث عند وضع أو إذالة على الصح من الـ Radio Button.

Swing دوال الكلاس JRadioButton

الدالة مع تعريفها
public void addActionListener(ActionListener al) تستخدم لتنفيذ أوامر معينة عند النقر على كائن الـ JRadioButton الذي قام بإستدعائها.
مكان الباراميتر al نضع كائن من الكلاس ActionListener و نفعل بداخله Override لدالة إسمها actionPerformed(ActionEvent ae).
public boolean isSelected() تستخدم لمعرفة إذا تم إختيار كائن الـ JRadioButton الذي قام بإستدعائها, أي تم وضع نقطة عليه أم لا.
ترجع true إذا كان يوجد عليه نقطة, و ترجع false إذا كان لا يوجد نقطة.
public void setSelected(boolean select) تستخدم لتحديد إذا كان سيتم إختيار كائن الـ JRadioButton الذي قام بإستدعائها, أي سيتم وضع نقطة عليه أم لا.
مكان الباراميتر select نضع true إذا أردنا أن يتم إختيار كائن الـ JRadioButton, أي إذا أردنا وضع نقطة عليه, و نضع false إذا أردنا عدم إختياره, أي عدم وضع نقطة عليه.
public boolean isEnabled() تستخدم لمعرفة إذا كان متاحاً إختيار كائن الـ JRadioButton الذي قام بإستدعائها أم لا.
ترجع true إذا كان متاحاً, و ترجع false إذا لم يكن كذلك.
public void setEnabled(boolean enable) تستخدم لتحديد إذا كان كائن الـ JRadioButton الذي قام بإستدعائها متاحاً أم لا.
مكان الباراميتر select نضع true إذا أردنا جعل كائن الـ JRadioButton متاحاً, و نضع false إذا لم نرد جعله متاحاً.

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

Java Swing طريقة إنشاء JRadioButton

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


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

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

		public class Main {

		public static void main(String[] args) {

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

		JRadioButton radioButton = new JRadioButton("Radio Button", true);    // و قمنا بإختياره أيضاً Radio Button أي قمنا بإنشاء JRadioButton هنا أنشأنا كائن من الكلاس

		radioButton.setBounds(40, 40, 100, 30);                   // frame في الـ Radio Button هنا قمنا بتحديد حجم و موقع الـ

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

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

		}

		}
	  

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

طريقة إضافة JRadioButton في ال JFrame

Swing طريقة تغيير نوع و لون و حجم خط الـ JRadioButton

المثال التالي يعلمك طريقة تغيير نوع و حجم و لون الخط لكائن الـ JRadioButton.


مثال طريقة تغيير نوع و حجم و لون الخط لكائن الـ JRadioButton.

Main.java
                    import java.awt.Color;
		import java.awt.Font;
		import javax.swing.JFrame;
		import javax.swing.JRadioButton;
		import javax.swing.ButtonGroup;

		public class Main {

		public static void main(String[] args) {

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

		JRadioButton radioButton_1 = new JRadioButton("Red", true);  // مع وضع علامة صح عليه radioButton_1 إسمه Radio Button أي قمنا بإنشاء JRadioButton هنا أنشأنا كائن من الكلاس
		JRadioButton radioButton_2 = new JRadioButton("Blue");       // radioButton_2 إسمه Radio Button أي قمنا بإنشاء JRadioButton هنا أنشأنا كائن من الكلاس
		JRadioButton radioButton_3 = new JRadioButton("Gray");       // radioButton_3 إسمه Radio Button أي قمنا بإنشاء JRadioButton هنا أنشأنا كائن من الكلاس

		ButtonGroup group = new ButtonGroup();                       // ضمن مجموعة واحدة JRadioButton و الذي سنسخدمه لوضع كائنات الـ ButtonGroup هنا أنشأنا كائن من الكلاس
		group.add(radioButton_1);                                    // group في المجموعة radioButton_1 هنا قمنا بإضافة الـ
		group.add(radioButton_2);                                    // group في المجموعة radioButton_2 هنا قمنا بإضافة الـ
		group.add(radioButton_3);                                    // group في المجموعة radioButton_3 هنا قمنا بإضافة الـ

		Font newFont = new Font("Arial", Font.BOLD, 16);             // حجمه 16 Arial يمثل نوع خط عريض إسمه Font هنا أنشأنا كائن من الكلاس

		radioButton_1.setBounds(40, 40, 100, 30);                    // frame في الـ radioButton_1 هنا قمنا بتحديد حجم و موقع الـ
		radioButton_1.setFont(newFont);                              // newFont يستخدم الـ radioButton_1 هنا جعلنا الـ
		radioButton_1.setForeground(Color.red);                      // أحمر radioButton_1 هنا جعلنا لون خط

		radioButton_2.setBounds(40, 70, 100, 30);                    // frame في الـ radioButton_2 هنا قمنا بتحديد حجم و موقع الـ
		radioButton_2.setFont(newFont);                              // newFont يستخدم الـ radioButton_2 هنا جعلنا الـ
		radioButton_2.setForeground(Color.blue);                     // أزرق radioButton_2 هنا جعلنا لون خط

		radioButton_3.setBounds(40, 100, 100, 30);                   // frame في الـ radioButton_3 هنا قمنا بتحديد حجم و موقع الـ
		radioButton_3.setFont(newFont);                              // newFont يستخدم الـ radioButton_3 هنا جعلنا الـ
		radioButton_3.setForeground(Color.gray);                     // رمادي radioButton_3 هنا جعلنا لون خط

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

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

		}

		}
	  

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

تغيير لون و حجم و نوع خط ال JRadioButton

 Swing طريقة معرفة الـ JRadioButton الذي قام المستخدم بإختياره

المثال التالي يعلمك طريقة معرفة الـ Radio Button الذي قام المستخدم بإختياره ضمن مجموعة Radio Buttons.


مثال طريقة معرفة الـ Radio Button الذي قام المستخدم بإختياره ضمن مجموعة Radio Buttons.

Main.java
                    import java.awt.event.ActionEvent;
		import java.awt.event.ActionListener;
		import javax.swing.JFrame;
		import javax.swing.JLabel;
		import javax.swing.JRadioButton;
		import javax.swing.ButtonGroup;
		import javax.swing.JButton;

		public class Main {

		// هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
		static JFrame frame = new JFrame("JRadioButton demo");
		static JLabel label = new JLabel("Select your language");
		static JRadioButton radioButton_1 = new JRadioButton("Arabic", true);
		static JRadioButton radioButton_2 = new JRadioButton("English");
		static JRadioButton radioButton_3 = new JRadioButton("French");
		static JLabel labelResult = new JLabel();
		static JButton button = new JButton("View selected choice");

		public static void main(String[] args) {

		// ضمن مجموعة واحدة JRadioButton و الذي سنسخدمه لوضع كائنات الـ ButtonGroup هنا أنشأنا كائن من الكلاس
		ButtonGroup group = new ButtonGroup();
		group.add(radioButton_1);
		group.add(radioButton_2);
		group.add(radioButton_3);

		// frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
		label.setBounds(40, 10, 150, 30);
		radioButton_1.setBounds(40, 40, 100, 30);
		radioButton_2.setBounds(40, 70, 100, 30);
		radioButton_3.setBounds(40, 100, 100, 30);
		button.setBounds(40, 150, 170, 30);
		labelResult.setBounds(40, 190, 180, 30);

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

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


		// button هنا نضع الأوامر التي نريد تنفيذها عند النقر على الـ
		button.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e)
		{
		// labelResult سيتم وضع النص التالي كنص للـ radioButton_1 إذا قام المستخدم بإختيار الـ
		if(radioButton_1.isSelected())
		labelResult.setText("You language is: "+radioButton_1.getText());

		// labelResult سيتم وضع النص التالي كنص للـ radioButton_2 إذا قام المستخدم بإختيار الـ
		else if(radioButton_2.isSelected())
		labelResult.setText("You language is: "+radioButton_2.getText());

		// labelResult سيتم وضع النص التالي كنص للـ radioButton_3 إذا قام المستخدم بإختيار الـ
		else if(radioButton_3.isSelected())
		labelResult.setText("You language is: "+radioButton_3.getText());
		}
		});

		}

		}
	  

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

طريقة معرفة ال JRadioButton الذي قام المستخدم بإختياره في جافا