JavaFX طريقة إضافة أيقونة للـ Label مع تحديد مكان ظهورها

المثال التالي يعلمك طريقة إضافة أيقونة للـ Label مع تحديد مكان ظهورها.


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

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

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


مثال

Main.java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
 
public class Main extends Application {
 
    @Override
    public void start(Stage stage) {

        // يمثل الصورة التي سنضعها كأيقونة Image هنا قمنا بإنشاء كائن من الكلاس
        Image image = new Image(getClass().getResourceAsStream("/images/smily-face.png"));
 
        // مع وضع نص و أيقونة لكل كائن منهم Label هنا قمنا بإنشاء 7 كائنات من الكلاس
        Label label_1 = new Label("Label 1", new ImageView(image));
        Label label_2 = new Label("Label 2", new ImageView(image));
        Label label_3 = new Label("Label 3", new ImageView(image));
        Label label_4 = new Label("Label 4", new ImageView(image));
        Label label_5 = new Label("Label 5", new ImageView(image));
        Label label_6 = new Label("Label 6", new ImageView(image));
        Label label_7 = new Label("Label 7", new ImageView(image));
 
        // قمنا بإنشائه Label هنا قمنا بتحديد مكان ظهور الأيقونة بالنسبة لكل
        label_1.setContentDisplay(ContentDisplay.LEFT);           // هنا وضعنا الصورة يسار النص
        label_2.setContentDisplay(ContentDisplay.BOTTOM);         // هنا وضعنا الصورة فوق النص
        label_3.setContentDisplay(ContentDisplay.TOP);            // هنا وضعنا الصورة تحت النص
        label_4.setContentDisplay(ContentDisplay.RIGHT);          // هنا وضعنا الصورة يمين النص
        label_5.setContentDisplay(ContentDisplay.CENTER);         // هنا وضعنا النص على الصورة
        label_6.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);   // هنا قمنا بإظهار الصورة فقط
        label_7.setContentDisplay(ContentDisplay.TEXT_ONLY);      // هنا بإظهار النص فقط
 
        // في النافذة label_1 هنا قمنا بتحديد مكان ظهور الكائن
        label_1.setTranslateX(20);
        label_1.setTranslateY(50);
 
        // في النافذة label_2 هنا قمنا بتحديد مكان ظهور الكائن
        label_2.setTranslateX(170);
        label_2.setTranslateY(50);
 
        // في النافذة label_3 هنا قمنا بتحديد مكان ظهور الكائن
        label_3.setTranslateX(280);
        label_3.setTranslateY(50);
 
        // في النافذة label_4 هنا قمنا بتحديد مكان ظهور الكائن
        label_4.setTranslateX(390);
        label_4.setTranslateY(50);
 
        // في النافذة label_5 هنا قمنا بتحديد مكان ظهور الكائن
        label_5.setTranslateX(80);
        label_5.setTranslateY(200);
 
        // في النافذة label_6 هنا قمنا بتحديد مكان ظهور الكائن
        label_6.setTranslateX(230);
        label_6.setTranslateY(200);
 
        // في النافذة label_7 هنا قمنا بتحديد مكان ظهور الكائن
        label_7.setTranslateX(370);
        label_7.setTranslateY(200);
 
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();
 
        // root في الكائن Labels هنا قمنا بإضافة جميع الـ
        root.getChildren().add(label_1);
        root.getChildren().add(label_2);
        root.getChildren().add(label_3);
        root.getChildren().add(label_4);
        root.getChildren().add(label_5);
        root.getChildren().add(label_6);
        root.getChildren().add(label_7);
 
        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 500, 300);
 
        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX Label");
 
        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);
 
        // هنا قمنا بإظهار النافذة
        stage.show();

    }
 
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        launch(args);
    }
 
}
		

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

طريقة إضافة أيقونة للـ Label مع تحديد مكان ظهورها في javafx

الدورات

أدوات مساعدة

أقسام الموقع

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