JavaFX طريقة إظهار الشيء الموضوع في GridPane على أكثر من سطر أو عامود

المثال التالي يعلمك طريقة إظهار الشيء الموضوع في GridPane على أكثر من سطر أو عامود.


مثال

Main.java
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;

public class Main extends Application {

    @Override
    public void start(Stage stage) {
        
        // في النافذة Root Node و الذي ننوي جعله الـ GridPane هنا قمنا بإنشاء كائن من الكلاس
        GridPane root = new GridPane();
        
        // تظهر في وسطه root هنا جعلنا الأشياء التي نضيفها في الكائن
        root.setAlignment(Pos.CENTER);
        
        // و النافذة نفسها root هنا قمنا بإضافة هامش بمقدار 5 بيكسل بين الكائن
        root.setPadding(new Insets(5));
        
        // root هنا قمنا بإضافة هامش بمقدار 10 بيكسل أفقياً بين كل شيئين يتم إضافتهما في الكائن
        root.setHgap(10);
        
        // root هنا قمنا بإضافة هامش بمقدار 10 بيكسل عامودياً بين كل شيئين يتم إضافتهما في الكائن
        root.setVgap(10);
        
        // root هنا قمنا بإنشاء جميع الأشياء التي سنضيفها في الكائن
        Button button1 = new Button("Button 1");
        Button button2 = new Button("Button 2");
        Button button3 = new Button("Button 3");
        Button button4 = new Button("Button 4");
        
        // و هو كل المساحة المتوفرة بالطول و العرض button4 و button3 ,button2 ,button1 هنا قمنا بجعل الحجم الأقصى للكائنات
        button1.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
        button2.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
        button3.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
        button4.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
        
		// يكبر لأقصى حدود ممكنة button4 و button3 ,button2 ,button1 هنا جعلنا طول الكائنات
        GridPane.setVgrow(button1, Priority.ALWAYS);
        GridPane.setVgrow(button2, Priority.ALWAYS);
        GridPane.setVgrow(button3, Priority.ALWAYS);
        GridPane.setVgrow(button4, Priority.ALWAYS);
        
		// يكبر لأقصى حدود ممكنة button4 ,button3 ,button2 ,button1 هنا جعلنا عرض الكائنات
        GridPane.setHgrow(button1, Priority.ALWAYS);
        GridPane.setHgrow(button2, Priority.ALWAYS);
        GridPane.setHgrow(button3, Priority.ALWAYS);
        GridPane.setHgrow(button4, Priority.ALWAYS);
        
        // root في العامود الأول من السطر الأول button2 هنا قمنا بإضافة الكائن
        root.add(button1, 0, 0);
		
		// يظهر على عامودين button1 هنا جعلنا الكائن
        GridPane.setRowSpan(button1, 2);
        
        // root في العامود الثاني من السطر الأول button2 هنا قمنا بإضافة الكائن
        root.add(button2, 1, 0);

		// يظهر على سطرين button2 هنا جعلنا الكائن
        GridPane.setColumnSpan(button2, 2);
        
        // root في العامود الثاني من السطر الثاني button3 هنا قمنا بإضافة الكائن
        root.add(button3, 1, 1);

        // root في العامود الثالث من السطر الثاني button4 هنا قمنا بإضافة الكائن
        root.add(button4, 2, 1);

        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 350, 250);

        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX GridPane");

        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);

        // هنا قمنا بإظهار النافذة
        stage.show();
        
    }

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

}
		

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

طريقة إظهار الشيء الموضوع في GridPane على أكثر من سطر أو عامود فيه في JavaFX

الدورات

أدوات مساعدة

أقسام الموقع

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