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);
    }

}
		

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

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

الدورات

أدوات مساعدة

أقسام الموقع

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