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

JavaFXطريقة وضع قائمة (Menu) بداخل قائمة (Menu)

المثال التالي يعلمك طريقة وضع القوائم بداخل بعضها البعض.


مثال

Main.java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.stage.Stage;
public class Main extends Application {
// يمثل شريط القوائم الذي سنضعه في أعلا النافذة MenuBar هنا قمنا بإنشاء كائن من الكلاس
MenuBar menuBar = new MenuBar();
// التي سنضعها فيها subMenu التي سنضعها في شريط القوائم و القائمة الداخلية menu هنا قمنا بإنشاء القائمة الرئيسية
Menu menu = new Menu("Menu");
Menu subMenu = new Menu("Sub Menu");
// هنا قمنا بإنشاء 6 كائنات تمثل العناصر التي سنضعها في القوائم
MenuItem item1 = new MenuItem("Item 1");
MenuItem item2 = new MenuItem("Item 2");
MenuItem item3 = new MenuItem("Item 3");
MenuItem item4 = new MenuItem("Item 4");
MenuItem item5 = new MenuItem("Item 5");
MenuItem item6 = new MenuItem("Item 6");
@Override
public void start(Stage stage) {
// هنا قمنا بوضع القائمة في شريط القوائم
menuBar.getMenus().addAll(menu);
// menu هنا قمنا بوضع أول ثلاث عناصر في القائمة
menu.getItems().add(item1);
menu.getItems().add(item2);
menu.getItems().add(item3);
// menu في القائمة subMenu هنا قمنا بوضع القائمة الداخلية
menu.getItems().add(subMenu);
// subMenu هنا قمنا بوضع العناصر الثلاثة المتبقية في القائمة الداخلية
subMenu.getItems().add(item4);
subMenu.getItems().add(item5);
subMenu.getItems().add(item6);
// هنا قمنا بجعل عرض شريط القوائم يساوي عرض النافذة حتى يظهر مطابق لها
menuBar.setPrefWidth(400);
// في النافذة 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();
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Menu; import javafx.scene.control.MenuBar; import javafx.scene.control.MenuItem; import javafx.stage.Stage; public class Main extends Application { // يمثل شريط القوائم الذي سنضعه في أعلا النافذة MenuBar هنا قمنا بإنشاء كائن من الكلاس MenuBar menuBar = new MenuBar(); // التي سنضعها فيها subMenu التي سنضعها في شريط القوائم و القائمة الداخلية menu هنا قمنا بإنشاء القائمة الرئيسية Menu menu = new Menu("Menu"); Menu subMenu = new Menu("Sub Menu"); // هنا قمنا بإنشاء 6 كائنات تمثل العناصر التي سنضعها في القوائم MenuItem item1 = new MenuItem("Item 1"); MenuItem item2 = new MenuItem("Item 2"); MenuItem item3 = new MenuItem("Item 3"); MenuItem item4 = new MenuItem("Item 4"); MenuItem item5 = new MenuItem("Item 5"); MenuItem item6 = new MenuItem("Item 6"); @Override public void start(Stage stage) { // هنا قمنا بوضع القائمة في شريط القوائم menuBar.getMenus().addAll(menu); // menu هنا قمنا بوضع أول ثلاث عناصر في القائمة menu.getItems().add(item1); menu.getItems().add(item2); menu.getItems().add(item3); // menu في القائمة subMenu هنا قمنا بوضع القائمة الداخلية menu.getItems().add(subMenu); // subMenu هنا قمنا بوضع العناصر الثلاثة المتبقية في القائمة الداخلية subMenu.getItems().add(item4); subMenu.getItems().add(item5); subMenu.getItems().add(item6); // هنا قمنا بجعل عرض شريط القوائم يساوي عرض النافذة حتى يظهر مطابق لها menuBar.setPrefWidth(400); // في النافذة 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(); } // هنا قمنا بتشغيل التطبيق public static void main(String[] args) { launch(args); } }

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

طريقة وضع قائمة Menu بداخل قائمة Menu أخرى في javafx