69 lines
2.9 KiB
Java
69 lines
2.9 KiB
Java
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);
|
|
|
|
}
|
|
|
|
}
|