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

JavaFXطريقة وضع أي شيء كمحتوى في الـTitledPane

المثال التالي يعلمك طريقة وضع أي شيء تريده كمحتوى في الـ TitledPane.

ملاحظة: عليك إنشاء مجلد إسمه images لتضع الصورة بداخله كما في الصورة التالية.

⇓ تحميل مجلد الصور


مثال

Main.java
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Accordion;
import javafx.stage.Stage;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.control.TitledPane;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.GridPane;
public class Main extends Application {
@Override
public void start(Stage stage) {
// في النافذة Root Node و الذي ننوي جعله الـ FlowPane هنا قمنا بإنشاء كائن من الكلاس
FlowPane root = new FlowPane();
// يظهر في الأعلى و في الوسط root هنا جعلنا أي شيء نضيفه في الكائن
root.setAlignment(Pos.TOP_CENTER);
// TitledPane يمثل الصورة التي سنقوم بوضعها بداخل أول ImageView هنا قمنا بإنشاء كائن من الكلاس
ImageView imageView = new ImageView(new Image(getClass().getResourceAsStream("/images/godaddy-icon.png")));
// مع وضع أربع أشياء بداخلها TitledPane يمثل الحاوية التي سنقوم بوضعها بداخل ثاني GridPane هنا قمنا بإنشاء كائن من الكلاس
GridPane gridPane = new GridPane();
gridPane.add(new Label("User"), 0, 0);
gridPane.add(new TextField(), 1, 0);
gridPane.add(new Label("Password"), 0, 1);
gridPane.add(new PasswordField(), 1, 1);
// و النافذة نفسها gridPane هنا قمنا بإضافة هامش بمقدار 5 بيكسل بين الكائن
gridPane.setPadding(new Insets(5));
// gridPane هنا قمنا بإضافة هامش بمقدار 10 بيكسل أفقياً بين كل شيئين يتم إضافتهما في الكائن
gridPane.setHgap(5);
// gridPane هنا قمنا بإضافة هامش بمقدار 10 بيكسل عامودياً بين كل شيئين يتم إضافتهما في الكائن
gridPane.setVgap(5);
// الذي يمثل الصورة كمحتوى imageView وضعنا له نص كعنوان و وضعنا فيه الكائن TitledPane هنا قمنا بإنشاء كائن من الكلاس
TitledPane titledPane1 = new TitledPane("Image inside", imageView);
// الذي يمثل الحاوية كمحتوى gridPane وضعنا له نص كعنوان و وضعنا فيه الكائن TitledPane هنا قمنا بإنشاء كائن من الكلاس
TitledPane titledPane2 = new TitledPane("GridPane inside", gridPane);
// titledPane2 و titledPane1 و وضعنا فيه الكائنين accordion هنا قمنا بإنشاء كائن من الكلاس
Accordion accordion = new Accordion(titledPane1, titledPane2);
// root في الكائن titledPane هن قمنا بإضافة الكائن
root.getChildren().addAll(accordion);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 350, 250);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX Accordion & TitledPane");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .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.scene.control.Accordion; import javafx.stage.Stage; import javafx.scene.control.Label; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import javafx.scene.control.TitledPane; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.FlowPane; import javafx.scene.layout.GridPane; public class Main extends Application { @Override public void start(Stage stage) { // في النافذة Root Node و الذي ننوي جعله الـ FlowPane هنا قمنا بإنشاء كائن من الكلاس FlowPane root = new FlowPane(); // يظهر في الأعلى و في الوسط root هنا جعلنا أي شيء نضيفه في الكائن root.setAlignment(Pos.TOP_CENTER); // TitledPane يمثل الصورة التي سنقوم بوضعها بداخل أول ImageView هنا قمنا بإنشاء كائن من الكلاس ImageView imageView = new ImageView(new Image(getClass().getResourceAsStream("/images/godaddy-icon.png"))); // مع وضع أربع أشياء بداخلها TitledPane يمثل الحاوية التي سنقوم بوضعها بداخل ثاني GridPane هنا قمنا بإنشاء كائن من الكلاس GridPane gridPane = new GridPane(); gridPane.add(new Label("User"), 0, 0); gridPane.add(new TextField(), 1, 0); gridPane.add(new Label("Password"), 0, 1); gridPane.add(new PasswordField(), 1, 1); // و النافذة نفسها gridPane هنا قمنا بإضافة هامش بمقدار 5 بيكسل بين الكائن gridPane.setPadding(new Insets(5)); // gridPane هنا قمنا بإضافة هامش بمقدار 10 بيكسل أفقياً بين كل شيئين يتم إضافتهما في الكائن gridPane.setHgap(5); // gridPane هنا قمنا بإضافة هامش بمقدار 10 بيكسل عامودياً بين كل شيئين يتم إضافتهما في الكائن gridPane.setVgap(5); // الذي يمثل الصورة كمحتوى imageView وضعنا له نص كعنوان و وضعنا فيه الكائن TitledPane هنا قمنا بإنشاء كائن من الكلاس TitledPane titledPane1 = new TitledPane("Image inside", imageView); // الذي يمثل الحاوية كمحتوى gridPane وضعنا له نص كعنوان و وضعنا فيه الكائن TitledPane هنا قمنا بإنشاء كائن من الكلاس TitledPane titledPane2 = new TitledPane("GridPane inside", gridPane); // titledPane2 و titledPane1 و وضعنا فيه الكائنين accordion هنا قمنا بإنشاء كائن من الكلاس Accordion accordion = new Accordion(titledPane1, titledPane2); // root في الكائن titledPane هن قمنا بإضافة الكائن root.getChildren().addAll(accordion); // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن Scene scene = new Scene(root, 350, 250); // هنا وضعنا عنوان للنافذة stage.setTitle("JavaFX Accordion & TitledPane"); // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ stage.setScene(scene); // هنا قمنا بإظهار النافذة stage.show(); } // هنا قمنا بتشغيل التطبيق public static void main(String[] args) { launch(args); } }

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

طريقة وضع أي شيء كمحتوى لل TitledPane في JavaFX