Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

JavaFXطريقة إضافة CheckMenuItem و RadioMenuItem في الـMenu

المثال التالي يعلمك طريقة إضافة CheckMenuItem و RadioMenuItem كعناصر في الـ Menu.


مثال

Main.java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.RadioMenuItem;
import javafx.scene.control.SeparatorMenuItem;
import javafx.scene.control.ToggleGroup;
import javafx.stage.Stage;
public class Main extends Application {
// يمثل شريط القوائم الذي سنضعه في أعلا النافذة MenuBar هنا قمنا بإنشاء كائن من الكلاس
MenuBar menuBar = new MenuBar();
// هنا قمنا بإنشاء القائمة الرئيسية التي سنضعها في شريط القوائم
Menu menu = new Menu("Menu");
// هنا قمنا بإنشاء 6 كائنات تمثل العناصر التي سنضعها في القوائم
CheckMenuItem itemConnected = new CheckMenuItem("Connect");
CheckMenuItem itemRecieveNotifications = new CheckMenuItem("Recieve Notification");
RadioMenuItem itemAvailable = new RadioMenuItem("Available");
RadioMenuItem itemBusy = new RadioMenuItem("Busy");
RadioMenuItem itemAway = new RadioMenuItem("Away");
MenuItem itemExit = new MenuItem("Exit");
// itemAway و itemBusy و itemAvailable لأننا ننوي وضع الكائنات toggleGroup هنا قمنا بإنشاء كائن من الكلاس
// لاحقاً في مجموعة واحدة لجعل المستخدم قادر على إختيار عنصر واحد منهم في كل مرة و ليس كلهم
ToggleGroup toggleGroup = new ToggleGroup();
@Override
public void start(Stage stage) {
// هنا قمنا بوضع القائمة في شريط القوائم
menuBar.getMenus().addAll(menu);
// menu هنا قمنا بوضع العناصر في القائمة
menu.getItems().add(itemConnected);
menu.getItems().add(itemRecieveNotifications);
menu.getItems().add(new SeparatorMenuItem()); // هنا أضفنا خط فاصل
menu.getItems().add(itemAvailable);
menu.getItems().add(itemBusy);
menu.getItems().add(itemAway);
menu.getItems().add(new SeparatorMenuItem()); // هنا أضفنا خط فاصل
menu.getItems().add(itemExit);
// هنا قمنا بجعل عرض شريط القوائم يساوي عرض النافذة حتى يظهر مطابق لها
menuBar.setPrefWidth(400);
// و هكذا أصبح يمكن إختيار واحد منهم فقط في كل مرة itemAway و itemBusy و itemAvailable و ربطنا فيه الكائنات ToggleGroup هنا قمنا بإنشاء كائن من الكلاس
itemAvailable.setToggleGroup(toggleGroup);
itemBusy.setToggleGroup(toggleGroup);
itemAway.setToggleGroup(toggleGroup);
// في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
Group root = new Group();
// root في الكائن menuBar هنا قمنا بإضافة الكائن
root.getChildren().add(menuBar);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 400, 250);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX MenuBar");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
stage.setScene(scene);
// هنا قمنا بإظهار النافذة
stage.show();
// مختارَين بشكل إفتراضي عند تشغيل التطبيق, أي يوجد عليهما علامة صح itemAvailable و itemConnected هنا قمنا بجعل الكائنين
itemConnected.setSelected(true);
itemAvailable.setSelected(true);
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.CheckMenuItem; import javafx.scene.control.Menu; import javafx.scene.control.MenuBar; import javafx.scene.control.MenuItem; import javafx.scene.control.RadioMenuItem; import javafx.scene.control.SeparatorMenuItem; import javafx.scene.control.ToggleGroup; import javafx.stage.Stage; public class Main extends Application { // يمثل شريط القوائم الذي سنضعه في أعلا النافذة MenuBar هنا قمنا بإنشاء كائن من الكلاس MenuBar menuBar = new MenuBar(); // هنا قمنا بإنشاء القائمة الرئيسية التي سنضعها في شريط القوائم Menu menu = new Menu("Menu"); // هنا قمنا بإنشاء 6 كائنات تمثل العناصر التي سنضعها في القوائم CheckMenuItem itemConnected = new CheckMenuItem("Connect"); CheckMenuItem itemRecieveNotifications = new CheckMenuItem("Recieve Notification"); RadioMenuItem itemAvailable = new RadioMenuItem("Available"); RadioMenuItem itemBusy = new RadioMenuItem("Busy"); RadioMenuItem itemAway = new RadioMenuItem("Away"); MenuItem itemExit = new MenuItem("Exit"); // itemAway و itemBusy و itemAvailable لأننا ننوي وضع الكائنات toggleGroup هنا قمنا بإنشاء كائن من الكلاس // لاحقاً في مجموعة واحدة لجعل المستخدم قادر على إختيار عنصر واحد منهم في كل مرة و ليس كلهم ToggleGroup toggleGroup = new ToggleGroup(); @Override public void start(Stage stage) { // هنا قمنا بوضع القائمة في شريط القوائم menuBar.getMenus().addAll(menu); // menu هنا قمنا بوضع العناصر في القائمة menu.getItems().add(itemConnected); menu.getItems().add(itemRecieveNotifications); menu.getItems().add(new SeparatorMenuItem()); // هنا أضفنا خط فاصل menu.getItems().add(itemAvailable); menu.getItems().add(itemBusy); menu.getItems().add(itemAway); menu.getItems().add(new SeparatorMenuItem()); // هنا أضفنا خط فاصل menu.getItems().add(itemExit); // هنا قمنا بجعل عرض شريط القوائم يساوي عرض النافذة حتى يظهر مطابق لها menuBar.setPrefWidth(400); // و هكذا أصبح يمكن إختيار واحد منهم فقط في كل مرة itemAway و itemBusy و itemAvailable و ربطنا فيه الكائنات ToggleGroup هنا قمنا بإنشاء كائن من الكلاس itemAvailable.setToggleGroup(toggleGroup); itemBusy.setToggleGroup(toggleGroup); itemAway.setToggleGroup(toggleGroup); // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس Group root = new Group(); // root في الكائن menuBar هنا قمنا بإضافة الكائن root.getChildren().add(menuBar); // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن Scene scene = new Scene(root, 400, 250); // هنا وضعنا عنوان للنافذة stage.setTitle("JavaFX MenuBar"); // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ stage.setScene(scene); // هنا قمنا بإظهار النافذة stage.show(); // مختارَين بشكل إفتراضي عند تشغيل التطبيق, أي يوجد عليهما علامة صح itemAvailable و itemConnected هنا قمنا بجعل الكائنين itemConnected.setSelected(true); itemAvailable.setSelected(true); } // هنا قمنا بتشغيل التطبيق public static void main(String[] args) { launch(args); } }

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

طريقة إضافة CheckMenuItem و RadioMenuItem كعناصر في القائمة Menu في javafx