package GUIAnwendungen.MenuBar;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.ButtonGroup;
public class CheckBoxMenuItem {

	public static void main(String[] args) {
		 
        JFrame frame = new JFrame("JMenuBar demo");              // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
        frame.setSize(500, 250);                                 // هنا قمنا بتحديد حجم النافذة. عرضها 500 و طولها 250
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
 
        // هنا قمنا بتعريف شريط القوائم
        JMenuBar menuBar = new JMenuBar();
 
        // هنا قمنا بتعريف قائمة واحدة
        JMenu menu = new JMenu("Menu");
 
        // Check Box هنا قمنا بتعريف إثنين
        JCheckBoxMenuItem connect = new JCheckBoxMenuItem("Connect");
        JCheckBoxMenuItem recieveNotifications = new JCheckBoxMenuItem("Recieve Notifications");
 
        // Radio Buttons هنا قمنا بتعريف ثلاثة
        JRadioButtonMenuItem isAvailable = new JRadioButtonMenuItem("Available");
        JRadioButtonMenuItem isBusy = new JRadioButtonMenuItem("Busy");
        JRadioButtonMenuItem isAway = new JRadioButtonMenuItem("Away");
 
        // هنا قمنا بتعريف عنصر عادي
        JMenuItem exit = new JMenuItem("Exit");
 
        // ضمن مجموعة واحدة Radio Buttons لوضع الثلاثة ButtonGroup هنا قمنا بتعريف كائن من الكلاس
        ButtonGroup group = new ButtonGroup();
 
        // في نفس المجموعة و بالتالي أصبح بالإمكان إختيار أحدهم فقط Radio Buttons هنا وضعنا الثلاثة
        group.add(isAvailable);
        group.add(isBusy);
        group.add(isAway);
 
        // مختارين بشكل إفتراضي isAvailable و الـ connect هنا جعلنا الـ
        connect.setSelected(true);
        isAvailable.setSelected(true);
 
        // هنا قمنا بوضع القائمة في شريط القوائم
        menuBar.add(menu);
 
        // هنا قمنا بوضع جميع العناصر في القائمة
        menu.add(connect);
        menu.add(recieveNotifications);
        menu.addSeparator(); // هنا أضفنا خط فاصل
        menu.add(isAvailable);
        menu.add(isBusy);
        menu.add(isAway);
        menu.addSeparator(); // هنا أضفنا خط فاصل
        menu.add(exit);
 
        // frame هنا قمنا بوضع شريط القوائم في الـ
        frame.setJMenuBar(menuBar);
 
        // مرئية frame هنا جعلنا الـ
        frame.setVisible(true);
 
    }

}
