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

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

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة