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

JavaFXطريقة وضع أيقونة للـMenuItem

المثال التالي يعلمك طريقة وضع أيقونات لعناصر القائمة. أي ستتعلم كيف تضع أيقونة للـ MenuItem.

ملاحظة: عليك إنشاء مجلد و وضع الصور فيه كما في الصورة التالية.

الصورة توضح أننا أضفنا مجلد إسمه images و وضعنا فيه أربع صور.

⇓ تحميل مجلد الصور


مثال

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.scene.control.SeparatorMenuItem;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
public class Main extends Application {
// يمثل شريط القوائم الذي سنضعه في أعلا النافذة MenuBar هنا قمنا بإنشاء كائن من الكلاس
MenuBar menuBar = new MenuBar();
// هنا قمنا بإنشاء القائمة الرئيسية التي سنضعها في شريط القوائم
Menu menu = new Menu("Menu");
// تمثل العناصر التي سنضعها في القوائم مع وضع صورة مختلفة لكل عنصر MenuItem هنا قمنا بإنشاء 4 كائنات من الكلاس
MenuItem itemNewFile = new MenuItem("New", new ImageView(new Image("/images/new-icon.png")));
MenuItem itemOpen = new MenuItem("Open", new ImageView(new Image("/images/open-icon.png")));
MenuItem itemSave = new MenuItem("Save", new ImageView(new Image("/images/save-icon.png")));
MenuItem itemExit = new MenuItem("Exit", new ImageView(new Image("/images/exit-icon.png")));
@Override
public void start(Stage stage) {
// هنا قمنا بوضع القائمة في شريط القوائم
menuBar.getMenus().addAll(menu);
// menu في القائمة itemExit و itemSave ,ItemOpen ,itemNewFile هنا قمنا بوضع العناصر
menu.getItems().add(itemNewFile);
menu.getItems().add(itemOpen);
menu.getItems().add(itemSave);
menu.getItems().add(new SeparatorMenuItem()); // هنا أضفنا خط فاصل
menu.getItems().add(itemExit);
// هنا قمنا بجعل عرض شريط القوائم يساوي عرض النافذة حتى يظهر مطابق لها
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.scene.control.SeparatorMenuItem; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.stage.Stage; public class Main extends Application { // يمثل شريط القوائم الذي سنضعه في أعلا النافذة MenuBar هنا قمنا بإنشاء كائن من الكلاس MenuBar menuBar = new MenuBar(); // هنا قمنا بإنشاء القائمة الرئيسية التي سنضعها في شريط القوائم Menu menu = new Menu("Menu"); // تمثل العناصر التي سنضعها في القوائم مع وضع صورة مختلفة لكل عنصر MenuItem هنا قمنا بإنشاء 4 كائنات من الكلاس MenuItem itemNewFile = new MenuItem("New", new ImageView(new Image("/images/new-icon.png"))); MenuItem itemOpen = new MenuItem("Open", new ImageView(new Image("/images/open-icon.png"))); MenuItem itemSave = new MenuItem("Save", new ImageView(new Image("/images/save-icon.png"))); MenuItem itemExit = new MenuItem("Exit", new ImageView(new Image("/images/exit-icon.png"))); @Override public void start(Stage stage) { // هنا قمنا بوضع القائمة في شريط القوائم menuBar.getMenus().addAll(menu); // menu في القائمة itemExit و itemSave ,ItemOpen ,itemNewFile هنا قمنا بوضع العناصر menu.getItems().add(itemNewFile); menu.getItems().add(itemOpen); menu.getItems().add(itemSave); menu.getItems().add(new SeparatorMenuItem()); // هنا أضفنا خط فاصل menu.getItems().add(itemExit); // هنا قمنا بجعل عرض شريط القوائم يساوي عرض النافذة حتى يظهر مطابق لها 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); } }

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

طريقة وضع أيقونة لل MenuItem في جافا