JavaFXطريقة وضع أيقونة للـMenuItem
المثال التالي يعلمك طريقة وضع أيقونات لعناصر القائمة. أي ستتعلم كيف تضع أيقونة للـ MenuItem
.
ملاحظة: عليك إنشاء مجلد و وضع الصور فيه كما في الصورة التالية.
الصورة توضح أننا أضفنا مجلد إسمه images
و وضعنا فيه أربع صور.
مثال
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"))); 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); } }
ستظهر لك النافذة التالية عند التشغيل.