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

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);
}
}
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