إعلان
تعلم الآن

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

}
		

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

طريقة إضافة CheckMenuItem و RadioMenuItem كعناصر في القائمة Menu في javafx
إعلان
دورة قواعد بيانات MySQL في هذه الدورة ستتعلم أساسيات قواعد البيانات و أوامر SQL، العلاقات (Join) بين الجداول، Normalization مع تطبيق مشروع متكامل. سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
تعلم الآن

الدورات

أدوات مساعدة

أقسام الموقع

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