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

JavaFXطريقة تحديد حجم و مكان ظهور الأشياء التي نضيفها في ScrollPane

المثال التالي يعلمك طريقة تحديد حجم و مكان ظهور الأشياء التي نضيفها في ScrollPane.
لإظهار محتوى الـ ScrollPane في وسطه, سنضع فيه StackPane, و بداخله سنضيف الشيئ الذي نريد وضعه.


مثال

Main.java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.StackPane;
import javafx.beans.binding.Bindings;
public class Main extends Application {
@Override
public void start(Stage stage) {
// في النافذة Root Node و الذي ننوي جعله الـ ScrollPane هنا قمنا بإنشاء كائن من الكلاس
ScrollPane root = new ScrollPane();
// root لأننا ننوي وضعه في الكائن StackPane هنا قمنا بإنشاء كائن من الكلاس
StackPane stackPane = new StackPane();
// root يمثل الزر الذي سنضعه بداخل الكائن Button هنا قمنا بإنشاء كائن من الكلاس
Button button = new Button("Button");
// button هنا قمنا بتحديد حجم الكائن
button.setPrefSize(300, 200);
// و بالتالي سيساوي عرض النافذة بحد ذاتها root يساوي عرض الكائن stackPane هنا جعلنا عرض الكائن
stackPane.minWidthProperty().bind(Bindings.createDoubleBinding(() ->
root.getViewportBounds().getWidth(), root.viewportBoundsProperty()));
// و بالتالي سيساوي طول النافذة بحد ذاتها root يساوي طول الكائن stackPane هنا جعلنا طول الكائن
stackPane.minHeightProperty().bind(Bindings.createDoubleBinding(() ->
root.getViewportBounds().getHeight(), root.viewportBoundsProperty()));
// stackPane في الكائن button هنا قمنا بإضافة الكائن
stackPane.getChildren().add(button);
// root في الكائن stackPane هنا قمنا بإضافة الكائن
root.setContent(stackPane);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 350, 250);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX ScrollPane");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
stage.setScene(scene);
// هنا قمنا بإظهار النافذة
stage.show();
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}
import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.control.Button; import javafx.scene.control.ScrollPane; import javafx.scene.layout.StackPane; import javafx.beans.binding.Bindings; public class Main extends Application { @Override public void start(Stage stage) { // في النافذة Root Node و الذي ننوي جعله الـ ScrollPane هنا قمنا بإنشاء كائن من الكلاس ScrollPane root = new ScrollPane(); // root لأننا ننوي وضعه في الكائن StackPane هنا قمنا بإنشاء كائن من الكلاس StackPane stackPane = new StackPane(); // root يمثل الزر الذي سنضعه بداخل الكائن Button هنا قمنا بإنشاء كائن من الكلاس Button button = new Button("Button"); // button هنا قمنا بتحديد حجم الكائن button.setPrefSize(300, 200); // و بالتالي سيساوي عرض النافذة بحد ذاتها root يساوي عرض الكائن stackPane هنا جعلنا عرض الكائن stackPane.minWidthProperty().bind(Bindings.createDoubleBinding(() -> root.getViewportBounds().getWidth(), root.viewportBoundsProperty())); // و بالتالي سيساوي طول النافذة بحد ذاتها root يساوي طول الكائن stackPane هنا جعلنا طول الكائن stackPane.minHeightProperty().bind(Bindings.createDoubleBinding(() -> root.getViewportBounds().getHeight(), root.viewportBoundsProperty())); // stackPane في الكائن button هنا قمنا بإضافة الكائن stackPane.getChildren().add(button); // root في الكائن stackPane هنا قمنا بإضافة الكائن root.setContent(stackPane); // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن Scene scene = new Scene(root, 350, 250); // هنا وضعنا عنوان للنافذة stage.setTitle("JavaFX ScrollPane"); // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ stage.setScene(scene); // هنا قمنا بإظهار النافذة stage.show(); } // هنا قمنا بتشغيل التطبيق public static void main(String[] args) { launch(args); } }

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

طريقة تحديد حجم و مكان ظهور الأشياء التي نضيفها في ScrollPane في JavaFX

ببطئ قم بتصغير حجم النافذة بواسطة الفأرة لترى كيف سيتم إظهار شريط تمرير عند الحاجة ( ScrollBar ) حتى تظل قادراً على رؤية كل محتوى النافذة مهما كان حجمها.