Java swing - الكلاس JCheckBox

Java swing الكلاس JCheckBox

الكلاس JCheckBox يستخدم لإضافة (Check Box) في واجهة المستخدم.

الـ Check Box يستخدم في العادة عند وضع خيارات ( Options ) للمستخدم.


بنا الكلاس JCheckBox

public class JLabel
extends JToggleButton
implements Accessible
	

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

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

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

  • مكان الباراميتر selected نمرر القيمة true في حال أردنا وضع علامة صح بداخل الـ Check Box.

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

  • مكان الباراميتر selected نمرر القيمة true في حال أردنا وضع علامة صح بداخل الـ Check Box.

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

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

  • مكان الباراميتر selected نمرر القيمة true في حال أردنا وضع علامة صح بداخل الـ Check Box.

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

دوال الكلاس JCheckBox

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

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

أمثلة شاملة في الكلاس JCheckBox


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

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


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

Main.java
        import java.awt.Color;
        import javax.swing.JFrame;
        import javax.swing.JCheckBox;
        import java.awt.Font;

        public class Main {

        public static void main(String[] args) {

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

        JCheckBox checkBox_1 = new JCheckBox("Red", true);        // مع وضع علامة صح عليه checkBox_1 إسمه Check Box أي قمنا بإنشاء JCheckBox هنا أنشأنا كائن من الكلاس
        JCheckBox checkBox_2 = new JCheckBox("Blue");             // checkBox_2 إسمه Check Box أي قمنا بإنشاء JCheckBox هنا أنشأنا كائن من الكلاس
        JCheckBox checkBox_3 = new JCheckBox("Gray");             //checkBox_3 إسمه Check Box أي قمنا بإنشاء JCheckBox هنا أنشأنا كائن من الكلاس

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

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

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

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

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

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

        }

        }
      

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

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


Java Swing طريقة معرفة حالة الـ JCheckBox

المثال التالي يعلمك طريقة معرفة حالة الـ Check Box, أي معرفة إذا كان تم إختياره أم لا.


مثال طريقة معرفة حالة الـ Check Box, أي معرفة إذا كان تم إختياره أم لا.

Main.java
      import java.awt.event.ItemEvent;
      import java.awt.event.ItemListener;
      import javax.swing.JFrame;
      import javax.swing.JLabel;
      import javax.swing.JCheckBox;

      public class Main {

      static JFrame frame = new JFrame("JCheckBox demo");          // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
      static JCheckBox checkBox = new JCheckBox("Check Box");      // checkBox إسمه Check Box هنا أنشأنا
      static JLabel label = new JLabel();                          // label إسمه Label هنا أنشأنا

      public static void main(String[] args) {

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

      label.setBounds(40, 70, 200, 30);                        // frame في الـ label هنا قمنا بتحديد حجم و موقع الـ
      label.setText("Check Box is not checked");               // checkBox سيتم تبديل هذا النص عند النقر هلى الـ .label هنا قمنا بإعطاء نص للـ

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

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

      checkBox.addItemListener(new ItemListener() {            // checkBox هنا نضع الأوامر التي نريد تنفيذها عند النقر على الـ
      @Override
      public void itemStateChanged(ItemEvent e) {
      if(checkBox.isSelected())                        // سيتم طباعة النص التالي checkBox إذا كان يوجد علامة صح على الـ
      label.setText("Check Box is checked");
      else                                             // سيتم طباعة النص التالي checkBox إذا كان لا يوجد علامة صح على الـ
      label.setText("Check Box is not checked");
      }
      });

      }

      }
    

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

طريقة معرفة حالة ال JCheckBox في جافا أي معرفة إذا كان تم إختياره أم لا


  طريقة إظهار أحرف الـ JTextPassword عند النقر على الـ JCheckBox

المثال التالي يعلمك طريقة إظهار أحرف الـ Password Field عند النقر على الـ Check Box.


مثال طريقة إظهار أحرف الـ Password Field عند النقر على الـ Check Box.

Main.java
      import java.awt.event.ItemEvent;
      import java.awt.event.ItemListener;
      import javax.swing.JFrame;
      import javax.swing.JLabel;
      import javax.swing.JCheckBox;
      import javax.swing.JPasswordField;

      public class Main {

      static JFrame frame = new JFrame("JCheckBox demo");          // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
      static JLabel label = new JLabel("Password");                // label إسمه Label هنا أنشأنا
      static JPasswordField password = new JPasswordField();       // password إسمه Password Field هنا أنشأنا
      static JCheckBox checkBox = new JCheckBox("Show characters");// checkBox إسمه Check Box هنا أنشأنا

      public static void main(String[] args) {

      label.setBounds(40, 40, 100, 30);                        // frame في الـ label هنا قمنا بتحديد حجم و موقع الـ
      password.setBounds(120, 40, 130, 30);                    // frame في الـ password هنا قمنا بتحديد حجم و موقع الـ
      checkBox.setBounds(270, 40, 150, 30);                    // frame في الـ checkBox هنا قمنا بتحديد حجم و موقع الـ

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

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

      checkBox.addItemListener(new ItemListener() {            // checkBox هنا نضع الأوامر التي نريد تنفيذها عند النقر على الـ
      @Override
      public void itemStateChanged(ItemEvent e) {
      if(checkBox.isSelected())                        // password سيتم عرض الأحرف الموجودة في الـ checkBox إذا كان يوجد علامة صح على الـ
      password.setEchoChar('\0');
      else                                             // Password سيتم إخفاء الأحرف الموجودة في الـ checkBox إذا كان لا يوجد علامة صح على الـ
      password.setEchoChar('•');
      }
      });

      }

      }
    

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

قم بإدخال أي شيء في الـ Password Field ثم أنقر على Show characters لإظهار أو إخفاء الأحرف.

طريقة إظهار أحرف ال JTextPassword عند النقر على ال JCheckBox

  تعلم Java Swing 

أفضل كورس لتعلم Java swing من الصفر الى الاحتراف .