JavaFX তে Layout Managers ব্যবহৃত হয় UI উপাদানগুলির (যেমন, বাটন, লেবেল, টেক্সটফিল্ড, ইত্যাদি) সঠিক অবস্থান এবং আকার নির্ধারণ করতে। JavaFX তে বিভিন্ন ধরনের লেআউট প্যানেল আছে, যেগুলি আপনাকে আপনার অ্যাপ্লিকেশনের ইউজার ইন্টারফেস ডিজাইন করতে সাহায্য করে।
নিচে কিছু জনপ্রিয় Layout Managers যেমন HBox, VBox, StackPane, BorderPane, এবং GridPane এর উদাহরণ দেয়া হলো:
1. HBox (Horizontal Box)
HBox হল একটি লেআউট প্যানেল যা উপাদানগুলোকে অনুভূমিকভাবে সাজায়।
উদাহরণ:
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class HBoxExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");
// HBox তৈরি
HBox hbox = new HBox(10); // 10px ব্যবধান
hbox.getChildren().addAll(btn1, btn2, btn3);
hbox.setAlignment(Pos.CENTER); // সব বোতাম সেন্টারে বসবে
Scene scene = new Scene(hbox, 300, 200);
primaryStage.setTitle("HBox Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
- ৩টি বাটন অনুভূমিকভাবে কেন্দ্রে বসানো থাকবে।
2. VBox (Vertical Box)
VBox হল একটি লেআউট প্যানেল যা উপাদানগুলোকে উল্লম্বভাবে সাজায়।
উদাহরণ:
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class VBoxExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");
// VBox তৈরি
VBox vbox = new VBox(10); // 10px ব্যবধান
vbox.getChildren().addAll(btn1, btn2, btn3);
vbox.setAlignment(Pos.CENTER); // সব বোতাম সেন্টারে বসবে
Scene scene = new Scene(vbox, 300, 200);
primaryStage.setTitle("VBox Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
- ৩টি বাটন উল্লম্বভাবে কেন্দ্রে বসানো থাকবে।
3. StackPane
StackPane হল একটি লেআউট প্যানেল যেখানে উপাদানগুলো একে অপরের উপরে স্তরের মতো সাজানো হয়।
উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class StackPaneExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
// StackPane তৈরি
StackPane stackPane = new StackPane();
stackPane.getChildren().addAll(btn1, btn2); // btn2 btn1 এর উপর আসবে
Scene scene = new Scene(stackPane, 300, 200);
primaryStage.setTitle("StackPane Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
Button 2হবেButton 1এর উপরে, কারণ StackPane উপাদানগুলো একে অপরের উপর স্তরের মতো সাজায়।
4. BorderPane
BorderPane হল একটি লেআউট প্যানেল যা UI উপাদানগুলিকে পাঁচটি বিভাগে বিভক্ত করে: Top, Bottom, Left, Right, এবং Center।
উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class BorderPaneExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btnTop = new Button("Top");
Button btnBottom = new Button("Bottom");
Button btnLeft = new Button("Left");
Button btnRight = new Button("Right");
Button btnCenter = new Button("Center");
// BorderPane তৈরি
BorderPane borderPane = new BorderPane();
borderPane.setTop(btnTop);
borderPane.setBottom(btnBottom);
borderPane.setLeft(btnLeft);
borderPane.setRight(btnRight);
borderPane.setCenter(btnCenter);
Scene scene = new Scene(borderPane, 400, 300);
primaryStage.setTitle("BorderPane Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
Button Topউপরের অংশে,Button Bottomনীচের অংশে,Button Leftবামদিকে,Button Rightডানদিকে এবংButton Centerকেন্দ্রে থাকবে।
5. GridPane
GridPane হল একটি লেআউট প্যানেল যা উপাদানগুলোকে একটি গ্রিডে সাজায় (যেমন টেবিলের সারি ও কলাম)।
উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class GridPaneExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");
Button btn4 = new Button("Button 4");
// GridPane তৈরি
GridPane gridPane = new GridPane();
gridPane.setHgap(10); // কলামের মধ্যে 10px ব্যবধান
gridPane.setVgap(10); // সারির মধ্যে 10px ব্যবধান
gridPane.add(btn1, 0, 0); // (Column 0, Row 0)
gridPane.add(btn2, 1, 0); // (Column 1, Row 0)
gridPane.add(btn3, 0, 1); // (Column 0, Row 1)
gridPane.add(btn4, 1, 1); // (Column 1, Row 1)
Scene scene = new Scene(gridPane, 300, 200);
primaryStage.setTitle("GridPane Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
- ৪টি বাটন গ্রিডের মধ্যে ২টি কলাম এবং ২টি সারিতে সাজানো থাকবে।
সারাংশ:
- HBox: উপাদানগুলোকে অনুভূমিকভাবে সাজায়।
- VBox: উপাদানগুলোকে উল্লম্বভাবে সাজায়।
- StackPane: উপাদানগুলো একে অপরের উপরে স্তরের মতো সাজায়।
- BorderPane: UI উপাদানগুলিকে ৫টি ভাগে ভাগ করে (Top, Bottom, Left, Right, Center)।
- GridPane: উপাদানগুলোকে গ্রিডে সাজায় (সারি ও কলাম ভিত্তিক)।
এই লেআউট ম্যানেজারগুলো ব্যবহার করে আপনি JavaFX এর মধ্যে সঠিকভাবে উপাদানগুলি সজ্জিত করতে পারবেন এবং আধুনিক, আকর্ষণীয় GUI তৈরি করতে সক্ষম হবেন।
Read more