JavaFXطريقة إظهار الشيء الموضوع في GridPane على أكثر من سطر أو عامود
المثال التالي يعلمك طريقة إظهار الشيء الموضوع في GridPane
على أكثر من سطر أو عامود.
مثال
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 { 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); } }
ستظهر لك النافذة التالية عند التشغيل.