JavaFX হল Java-তে GUI (Graphical User Interface) তৈরি করার জন্য একটি শক্তিশালী লাইব্রেরি। এটি আপনাকে গ্রাফিক্যাল ইউজার ইন্টারফেস ডিজাইন এবং ইন্টারঅ্যাক্টিভ অ্যাপ্লিকেশন তৈরি করার জন্য অনেক ধরনের কন্ট্রোল এবং উপাদান প্রদান করে। নিচে কিছু JavaFX এর মাধ্যমে GUI তৈরি করার উদাহরণ দেওয়া হয়েছে।
এটি একটি সাধারণ JavaFX অ্যাপ্লিকেশন, যেখানে একটি Button
এবং একটি Label
ব্যবহার করা হয়েছে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class SimpleJavaFXExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি টেক্সট তৈরি
Text message = new Text("Hello, JavaFX!");
// একটি বাটন তৈরি
Button btn = new Button("Click Me");
// বাটনের অ্যাকশন
btn.setOnAction(event -> message.setText("Button Clicked!"));
// StackPane layout এ বাটন এবং টেক্সট যোগ করা
StackPane root = new StackPane();
root.getChildren().addAll(btn, message);
// Scene তৈরি করা এবং সেট করা
Scene scene = new Scene(root, 300, 250);
// স্টেজের টাইটেল সেট করা
primaryStage.setTitle("JavaFX Example");
primaryStage.setScene(scene);
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এই উদাহরণে, একটি TextField
এবং একটি Button
ব্যবহার করা হয়েছে, যেখানে ইউজার একটি টেক্সট ইনপুট দিতে পারবেন এবং বাটন ক্লিক করলে সেই টেক্সটটি Label
-এ প্রদর্শিত হবে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TextFieldExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি টেক্সটফিল্ড তৈরি
TextField textField = new TextField();
// একটি বাটন তৈরি
Button btn = new Button("Show Text");
// একটি লেবেল তৈরি
Label label = new Label();
// বাটনের অ্যাকশন
btn.setOnAction(event -> {
String text = textField.getText(); // টেক্সটফিল্ডের ইনপুট নেওয়া
label.setText("You entered: " + text); // লেবেলে টেক্সট সেট করা
});
// VBox layout এ সব উপাদান যোগ করা
VBox vbox = new VBox(10, textField, btn, label);
vbox.setStyle("-fx-padding: 20;");
// Scene তৈরি করা এবং সেট করা
Scene scene = new Scene(vbox, 300, 200);
// স্টেজের টাইটেল সেট করা
primaryStage.setTitle("TextField Example");
primaryStage.setScene(scene);
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এটি একটি ComboBox
ব্যবহার করে একটি ড্রপডাউন তৈরি করার উদাহরণ যেখানে ইউজার একটি অপশন নির্বাচন করতে পারেন।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class ComboBoxExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি ComboBox তৈরি
ComboBox<String> comboBox = new ComboBox<>();
comboBox.getItems().addAll("Option 1", "Option 2", "Option 3", "Option 4");
// একটি লেবেল তৈরি
Label label = new Label("Select an option:");
// ComboBox এর নির্বাচন পরিবর্তন হলে লেবেলে তা দেখানো হবে
comboBox.setOnAction(event -> {
String selectedOption = comboBox.getValue();
label.setText("You selected: " + selectedOption);
});
// VBox layout এ উপাদান যোগ করা
VBox vbox = new VBox(10, label, comboBox);
vbox.setStyle("-fx-padding: 20;");
// Scene তৈরি করা এবং সেট করা
Scene scene = new Scene(vbox, 300, 200);
// স্টেজের টাইটেল সেট করা
primaryStage.setTitle("ComboBox Example");
primaryStage.setScene(scene);
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এটি একটি ফর্ম ডিজাইন করার উদাহরণ যেখানে GridPane
ব্যবহার করা হয়েছে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class GridPaneExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি GridPane layout তৈরি
GridPane grid = new GridPane();
grid.setVgap(10);
grid.setHgap(10);
// ফর্মের জন্য লেবেল এবং টেক্সটফিল্ড তৈরি
Label nameLabel = new Label("Name:");
TextField nameField = new TextField();
Label emailLabel = new Label("Email:");
TextField emailField = new TextField();
Button submitButton = new Button("Submit");
// উপাদান গুলি গ্রিডে যোগ করা
grid.add(nameLabel, 0, 0);
grid.add(nameField, 1, 0);
grid.add(emailLabel, 0, 1);
grid.add(emailField, 1, 1);
grid.add(submitButton, 1, 2);
// Scene তৈরি করা এবং সেট করা
Scene scene = new Scene(grid, 300, 200);
// স্টেজের টাইটেল সেট করা
primaryStage.setTitle("GridPane Form Example");
primaryStage.setScene(scene);
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
JavaFX তে বিভিন্ন উপাদানের রঙ এবং স্টাইল পরিবর্তন করা যায় CSS এর মাধ্যমে। নিচে একটি উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class StyledButtonExample extends Application {
@Override
public void start(Stage primaryStage) {
// একটি বাটন তৈরি
Button btn = new Button("Styled Button");
// বাটনে CSS স্টাইল প্রয়োগ করা
btn.setStyle("-fx-background-color: #00ff00; -fx-font-size: 16px;");
// StackPane layout তৈরি এবং বাটন যোগ করা
StackPane root = new StackPane();
root.getChildren().add(btn);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250);
// স্টেজের টাইটেল সেট করা
primaryStage.setTitle("Styled Button Example");
primaryStage.setScene(scene);
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এই উদাহরণগুলি JavaFX-এর মূল বৈশিষ্ট্য এবং GUI তৈরি করার কিছু সাধারণ উপায় প্রদর্শন করে।
নিচে একটি জাভা উদাহরণ দেওয়া হয়েছে যেখানে JavaFX ব্যবহার করে একটি সাধারণ GUI অ্যাপ্লিকেশন তৈরি করা হয়েছে। এই অ্যাপ্লিকেশনটি শুধুমাত্র একটি "Hello, World!" বার্তা প্রদর্শন করবে।
JavaFX দিয়ে একটি সিম্পল GUI তৈরি করতে আপনাকে কিছু ক্লাস ব্যবহার করতে হবে, যেমন Application
, Stage
, এবং Scene
।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class HelloWorldFX extends Application {
@Override
public void start(Stage primaryStage) {
// "Hello, World!" বার্তা সহ একটি Label তৈরি করুন
Label helloLabel = new Label("Hello, World!");
// একটি StackPane লেআউট ব্যবহার করুন
StackPane root = new StackPane();
root.getChildren().add(helloLabel);
// একটি Scene তৈরি করুন
Scene scene = new Scene(root, 300, 250);
// স্টেজের শিরোনাম সেট করুন
primaryStage.setTitle("JavaFX Hello World");
// স্টেজে সিন দৃশ্য যোগ করুন
primaryStage.setScene(scene);
// স্টেজটি দেখান
primaryStage.show();
}
public static void main(String[] args) {
launch(args); // অ্যাপ্লিকেশন শুরু করুন
}
}
Application
ক্লাস: JavaFX অ্যাপ্লিকেশন তৈরি করতে Application
ক্লাসকে এক্সটেন্ড করতে হয় এবং start()
মেথডে অ্যাপ্লিকেশনের GUI উপাদান সেট করতে হয়।Stage
: Stage
হল প্রধান উইন্ডো যেখানে অ্যাপ্লিকেশনের UI উপাদানগুলো প্রদর্শিত হয়। এটি মূলত একটি উইন্ডো যা অ্যাপ্লিকেশনের প্রধান দৃশ্য।Scene
: Scene
হল স্টেজের মধ্যে প্রদর্শিত GUI উপাদানগুলির ধারণকারী কনটেইনার। আমরা StackPane
ব্যবহার করেছি, যা একটি সিম্পল লেআউট কনটেইনার।Label
: এটি একটি UI উপাদান যা টেক্সট দেখানোর জন্য ব্যবহৃত হয়।launch()
মেথড: JavaFX অ্যাপ্লিকেশন শুরু করতে launch()
মেথডটি ব্যবহার করা হয়, যা Application
ক্লাসের start()
মেথডকে কল করবে।JavaFX SDK
ডাউনলোড এবং সেটআপ করতে হবে।Button
, TextField
, TextArea
, ComboBox
, এবং আরও অনেক কিছু।এই উদাহরণটি JavaFX দিয়ে একটি সিম্পল GUI অ্যাপ্লিকেশন তৈরি করার প্রাথমিক ধারণা দেয়, এবং আপনি আরও জটিল অ্যাপ্লিকেশন তৈরি করতে JavaFX এর বিভিন্ন ফিচার ব্যবহার করতে পারেন।
এখানে একটি Button এবং Event Handling Example দেওয়া হল যা Java GUI (Graphical User Interface) তে একটি বোতাম ক্লিক ইভেন্ট পরিচালনা করে। আমরা JButton
ব্যবহার করব এবং ক্লিক ইভেন্ট হ্যান্ডল করার জন্য ActionListener
ইন্টারফেস ব্যবহার করব।
import javax.swing.*;
import java.awt.event.*;
public class ButtonEventHandlingExample {
public static void main(String[] args) {
// JFrame তৈরি করা
JFrame frame = new JFrame("Button Event Handling Example");
// JButton তৈরি করা
JButton button = new JButton("Click Me!");
// JButton এর জন্য ActionListener যোগ করা
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// বোতাম ক্লিক হলে এই অংশের কোডটি চালু হবে
JOptionPane.showMessageDialog(frame, "Button Clicked!");
}
});
// JFrame সেটআপ করা
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLayout(null);
// বোতামটিকে JFrame-এ যুক্ত করা
button.setBounds(100, 70, 100, 40);
frame.add(button);
// JFrame দৃশ্যমান করা
frame.setVisible(true);
}
}
JFrame
হল মূল উইন্ডো যেখানে আমরা অন্যান্য উপাদান (জাভা GUI উইজেট) রাখতে পারি, যেমন বোতাম, টেক্সট ফিল্ড ইত্যাদি।JButton
একটি বোতাম যা ইউজার ক্লিক করতে পারে। এখানে "Click Me!" টেক্সট সহ একটি বোতাম তৈরি করা হয়েছে।ActionListener
ইন্টারফেস ব্যবহৃত হয় বোতাম ক্লিক ইভেন্ট হ্যান্ডল করার জন্য।actionPerformed
মেথডে আমরা সেই কোড লিখি যা বোতাম ক্লিক হওয়ার পর চালু হবে। এখানে একটি JOptionPane.showMessageDialog
ব্যবহার করা হয়েছে একটি মেসেজ প্রদর্শন করার জন্য।frame.setSize(300, 200)
ফ্রেমের আকার সেট করছে।frame.setLayout(null)
ফ্রেমে কোনো লেআউট ম্যানেজার ব্যবহার না করে, আমরা কাস্টম পজিশন সেট করতে পারি।button.setBounds(100, 70, 100, 40)
বোতামের অবস্থান এবং আকার নির্ধারণ করে। এটি বোতামকে ফ্রেমের মধ্যে 100 পিক্সেল বাম থেকে এবং 70 পিক্সেল উপরে রাখবে, এবং বোতামের আকার হবে 100x40 পিক্সেল।frame.setVisible(true)
ফ্রেমটি প্রদর্শন করার জন্য ব্যবহার করা হয়।এই কোডটি চালানোর পর, একটি ছোট উইন্ডো (JFrame) খোলা হবে যেখানে একটি বোতাম থাকবে। যখন আপনি বোতামটি ক্লিক করবেন, তখন একটি মেসেজ ডায়ালগ ("Button Clicked!") দেখাবে।
JFrame
এবং JButton
ক্লাস ব্যবহার করা হয়েছে, যা Swing লাইব্রেরির অংশ।এই উদাহরণটি সহজ এবং কার্যকরী উপায়ে Java Swing-এর মৌলিক ব্যবহার এবং ইভেন্ট হ্যান্ডলিং প্রদর্শন করেছে।
Java Swing ব্যবহার করে GUI অ্যাপ্লিকেশন তৈরি করার সময় আপনি Menu এবং MenuBar তৈরি করতে পারেন। এর মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনে ব্যবহারকারীকে বিভিন্ন অপশন প্রদান করতে পারেন, যেমন ফাইল মেনু, এডিট মেনু, ইত্যাদি। এই উদাহরণে আমরা দেখব কিভাবে একটি Menu এবং MenuBar তৈরি করতে হয় এবং এর সাথে Event Handling কিভাবে করতে হয়।
এখানে একটি উদাহরণ দেওয়া হলো যেখানে একটি GUI উইন্ডোতে একটি মেনু তৈরি করা হয়েছে, এবং এর মধ্যে কিছু অপশন রয়েছে যেমন "Open", "Save", এবং "Exit"। এছাড়া, প্রতি অপশনের সাথে ইভেন্ট হ্যান্ডলিং যুক্ত করা হয়েছে।
import javax.swing.*;
import java.awt.event.*;
public class MenuExample {
public static void main(String[] args) {
// JFrame তৈরি
JFrame frame = new JFrame("Menu Example");
// MenuBar তৈরি
JMenuBar menuBar = new JMenuBar();
// File Menu তৈরি
JMenu fileMenu = new JMenu("File");
// Menu Items তৈরি
JMenuItem openItem = new JMenuItem("Open");
JMenuItem saveItem = new JMenuItem("Save");
JMenuItem exitItem = new JMenuItem("Exit");
// Menu Items-এর জন্য Event Handling (ActionListener)
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(frame, "Open option selected");
}
});
saveItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(frame, "Save option selected");
}
});
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0); // অ্যাপ্লিকেশন বন্ধ করা
}
});
// Menu Items ফাইল মেনুর সাথে যুক্ত করা
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator(); // Separator যোগ করা
fileMenu.add(exitItem);
// MenuBar-এ File Menu যোগ করা
menuBar.add(fileMenu);
// JFrame-এ MenuBar সেট করা
frame.setJMenuBar(menuBar);
// JFrame প্রপার্টি সেট করা
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
JOptionPane
বার্তা দেখানো হয়।System.exit(0)
কল করবে।এটি একটি মৌলিক উদাহরণ যা Java Swing ব্যবহার করে একটি মেনু এবং মেনুবার তৈরি করার প্রক্রিয়া দেখায়। আপনি এতে আরো মেনু, সাব-মেনু, এবং আরো ইভেন্ট হ্যান্ডলিং যোগ করতে পারবেন আপনার অ্যাপ্লিকেশন অনুযায়ী।
BorderPane
, HBox
, VBox
JavaFX provides several layout managers that help in organizing UI components in a structured manner. Among them, BorderPane
, HBox
, and VBox
are some of the most commonly used layout managers. Below are examples demonstrating how to use each of these layout managers.
BorderPane
Layout ExampleBorderPane
is a layout manager that divides the screen into five regions: top, bottom, left, right, and center. You can place different components (controls) in these regions.
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) {
// Create a BorderPane layout
BorderPane borderPane = new BorderPane();
// Create buttons for each region
Button topButton = new Button("Top");
Button bottomButton = new Button("Bottom");
Button leftButton = new Button("Left");
Button rightButton = new Button("Right");
Button centerButton = new Button("Center");
// Add buttons to their respective positions in the BorderPane
borderPane.setTop(topButton);
borderPane.setBottom(bottomButton);
borderPane.setLeft(leftButton);
borderPane.setRight(rightButton);
borderPane.setCenter(centerButton);
// Create a Scene and add the BorderPane layout
Scene scene = new Scene(borderPane, 400, 300);
// Set the stage with the scene and display it
primaryStage.setTitle("BorderPane Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
HBox
Layout ExampleHBox
arranges the UI components horizontally. It places children next to each other, from left to right, by default.
import javafx.application.Application;
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) {
// Create an HBox layout
HBox hBox = new HBox(10); // 10 is the spacing between the buttons
// Create buttons
Button button1 = new Button("Button 1");
Button button2 = new Button("Button 2");
Button button3 = new Button("Button 3");
// Add buttons to the HBox
hBox.getChildren().addAll(button1, button2, button3);
// Create a Scene and add the HBox layout
Scene scene = new Scene(hBox, 300, 100);
// Set the stage with the scene and display it
primaryStage.setTitle("HBox Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
VBox
Layout ExampleVBox
arranges the UI components vertically. The components are stacked on top of each other, from top to bottom.
import javafx.application.Application;
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) {
// Create a VBox layout
VBox vBox = new VBox(10); // 10 is the spacing between the buttons
// Create buttons
Button button1 = new Button("Button 1");
Button button2 = new Button("Button 2");
Button button3 = new Button("Button 3");
// Add buttons to the VBox
vBox.getChildren().addAll(button1, button2, button3);
// Create a Scene and add the VBox layout
Scene scene = new Scene(vBox, 200, 150);
// Set the stage with the scene and display it
primaryStage.setTitle("VBox Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
BorderPane
, HBox
, and VBox
You can combine BorderPane
, HBox
, and VBox
to create more complex layouts. For example, placing a VBox
inside the Center
region of a BorderPane
and an HBox
in the Bottom
region.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class CombinedLayoutExample extends Application {
@Override
public void start(Stage primaryStage) {
// Create BorderPane layout
BorderPane borderPane = new BorderPane();
// Create a VBox for the center region
VBox vBox = new VBox(10);
Button vboxButton1 = new Button("VBox Button 1");
Button vboxButton2 = new Button("VBox Button 2");
vBox.getChildren().addAll(vboxButton1, vboxButton2);
// Create an HBox for the bottom region
HBox hBox = new HBox(10);
Button hboxButton1 = new Button("HBox Button 1");
Button hboxButton2 = new Button("HBox Button 2");
hBox.getChildren().addAll(hboxButton1, hboxButton2);
// Set VBox in the center region of BorderPane
borderPane.setCenter(vBox);
// Set HBox in the bottom region of BorderPane
borderPane.setBottom(hBox);
// Create a Scene and add the BorderPane layout
Scene scene = new Scene(borderPane, 400, 300);
// Set the stage with the scene and display it
primaryStage.setTitle("Combined Layout Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
BorderPane
: এই লেআউটটি পাঁচটি অঞ্চলে বিভক্ত: Top
, Bottom
, Left
, Right
, এবং Center
। আপনি বিভিন্ন উপাদানকে এই অঞ্চলে রাখতে পারেন।HBox
: HBox
উপাদানগুলোকে অনুভূমিকভাবে সাজায়। উপাদানগুলি একে অপরের পাশে দেখা যায়, এবং আপনি স্পেসিং নিয়ন্ত্রণ করতে পারেন।VBox
: VBox
উপাদানগুলোকে উল্লম্বভাবে সাজায়, অর্থাৎ উপাদানগুলি একে অপরের উপরে থাকে। এখানে আপনি উপাদানগুলির মধ্যে স্পেসিংও নিয়ন্ত্রণ করতে পারেন।এই উদাহরণগুলো JavaFX লেআউট ব্যবস্থাপনা এবং কিভাবে বিভিন্ন লেআউট ব্যবহার করা যায় তা বুঝতে সাহায্য করবে।
JavaFX এ TableView
একটি শক্তিশালী কম্পোনেন্ট যা টেবিল আকারে ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়। এটি বিভিন্ন ধরনের ডেটা যেমন টেক্সট, সংখ্যা, তারিখ ইত্যাদি টেবিলের মধ্যে প্রদর্শন করতে সাহায্য করে।
নিচে JavaFX দিয়ে একটি TableView
তৈরি এবং ডেটা প্রদর্শনের একটি উদাহরণ দেওয়া হলো।
TableView
উদাহরণএই উদাহরণে, আমরা একটি TableView
ব্যবহার করে একটি সাধারণ টেবিল তৈরি করব যেখানে কর্মচারীদের তথ্য যেমন নাম, বয়স, এবং বিভাগের নাম প্রদর্শন করা হবে।
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TableViewExample extends Application {
// Employee ক্লাস তৈরি
public static class Employee {
private final SimpleStringProperty name;
private final SimpleIntegerProperty age;
private final SimpleStringProperty department;
public Employee(String name, int age, String department) {
this.name = new SimpleStringProperty(name);
this.age = new SimpleIntegerProperty(age);
this.department = new SimpleStringProperty(department);
}
public String getName() {
return name.get();
}
public void setName(String name) {
this.name.set(name);
}
public int getAge() {
return age.get();
}
public void setAge(int age) {
this.age.set(age);
}
public String getDepartment() {
return department.get();
}
public void setDepartment(String department) {
this.department.set(department);
}
}
@Override
public void start(Stage stage) {
// TableView তৈরি
TableView<Employee> tableView = new TableView<>();
// টেবিলের জন্য ডেটা তৈরি (ObservableList)
ObservableList<Employee> data = FXCollections.observableArrayList(
new Employee("John Doe", 30, "HR"),
new Employee("Jane Smith", 25, "Finance"),
new Employee("Michael Johnson", 35, "IT")
);
// নাম কলাম তৈরি
TableColumn<Employee, String> nameColumn = new TableColumn<>("Name");
nameColumn.setCellValueFactory(cellData -> cellData.getValue().name);
// বয়স কলাম তৈরি
TableColumn<Employee, Integer> ageColumn = new TableColumn<>("Age");
ageColumn.setCellValueFactory(cellData -> cellData.getValue().age.asObject());
// বিভাগ কলাম তৈরি
TableColumn<Employee, String> departmentColumn = new TableColumn<>("Department");
departmentColumn.setCellValueFactory(cellData -> cellData.getValue().department);
// টেবিলে কলাম যোগ করা
tableView.getColumns().addAll(nameColumn, ageColumn, departmentColumn);
// টেবিলের ডেটা সেট করা
tableView.setItems(data);
// VBox layout তৈরি
VBox vbox = new VBox(tableView);
// Scene তৈরি
Scene scene = new Scene(vbox);
// স্টেজ সেট করা
stage.setScene(scene);
stage.setTitle("JavaFX TableView Example");
stage.setWidth(400);
stage.setHeight(300);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
SimpleStringProperty
এবং SimpleIntegerProperty
ব্যবহার করে জাভাFX এর প্রপার্টি মডেলকে সাপোর্ট করে, যাতে টেবিলের ডেটা টেবিল ভিউতে পরিবর্তন করা যায়।TableView
ব্যবহার করা হয়। এর মধ্যে বিভিন্ন কলাম (যেমন নাম, বয়স, এবং বিভাগ) যুক্ত করা হয়েছে।TableColumn
ব্যবহার করে প্রতিটি কলামের জন্য সেল ভ্যালু ফ্যাক্টরি সেট করা হয় যা নির্ধারণ করে কোন প্রপার্টি টেবিলের ওই কলামে প্রদর্শিত হবে।ObservableList
হল ডেটার একটি সংগ্রহ যা টেবিলের ডেটা রাখে এবং যখন ডেটা পরিবর্তিত হয় তখন টেবিল স্বয়ংক্রিয়ভাবে আপডেট হয়।Scene
এবং Stage
ব্যবহার করা হয়। Scene
এ সকল UI উপাদান যেমন TableView
থাকে, এবং Stage
হল উইন্ডো যা দৃশ্য প্রদর্শন করে।এই প্রোগ্রামটি রান করার পর একটি উইন্ডো খুলবে যেখানে তিনটি কলামসহ কর্মচারীদের তালিকা দেখতে পাবেন:
| Name | Age | Department |
----------------------------------------
| John Doe | 30 | HR |
| Jane Smith | 25 | Finance |
| Michael Johnson | 35 | IT |
এটি একটি সাধারণ JavaFX TableView উদাহরণ যা একটি টেবিলের মধ্যে ডেটা প্রদর্শন করে। আপনি কলামগুলো কাস্টমাইজ করতে পারেন এবং প্রয়োজনে আরও ফিচার যেমন ডেটা এডিটিং, ডিলিটিং, অর্ডারিং ইত্যাদি যুক্ত করতে পারেন।
JavaFX হল একটি UI ফ্রেমওয়ার্ক যা জাভা প্ল্যাটফর্মে ডেস্কটপ অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। এটি সমৃদ্ধ ইউজার ইন্টারফেস উপাদান প্রদান করে, যেমন টেবিল, চার্ট, গ্রাফিক্স, মিডিয়া প্লেব্যাক, ইত্যাদি। JavaFX এর সবচেয়ে গুরুত্বপূর্ণ উপাদানগুলো:
Scene
ধারণ করে।Button
, TextField
, Label
, TableView
ইত্যাদি।এটি আরও ইউজার ইন্টারফেস তৈরি করতে ব্যবহৃত হয়, যেমন গ্রাফিক্স, এনিমেশন, ডাটা ভিজুয়ালাইজেশন ইত্যাদি।
Read more