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

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

الدورات

أدوات مساعدة

أقسام الموقع

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