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

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