JavaFX এ TableView একটি শক্তিশালী কম্পোনেন্ট যা টেবিল আকারে ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়। এটি বিভিন্ন ধরনের ডেটা যেমন টেক্সট, সংখ্যা, তারিখ ইত্যাদি টেবিলের মধ্যে প্রদর্শন করতে সাহায্য করে।
নিচে JavaFX দিয়ে একটি TableView তৈরি এবং ডেটা প্রদর্শনের একটি উদাহরণ দেওয়া হলো।
JavaFX TableView উদাহরণ
এই উদাহরণে, আমরা একটি TableView ব্যবহার করে একটি সাধারণ টেবিল তৈরি করব যেখানে কর্মচারীদের তথ্য যেমন নাম, বয়স, এবং বিভাগের নাম প্রদর্শন করা হবে।
১. JavaFX 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);
}
}
ব্যাখ্যা:
- Employee ক্লাস: এই ক্লাসটি কর্মচারীদের তথ্য ধারণ করবে। এটি
SimpleStringPropertyএবংSimpleIntegerPropertyব্যবহার করে জাভাFX এর প্রপার্টি মডেলকে সাপোর্ট করে, যাতে টেবিলের ডেটা টেবিল ভিউতে পরিবর্তন করা যায়। - TableView: টেবিল তৈরি করতে
TableViewব্যবহার করা হয়। এর মধ্যে বিভিন্ন কলাম (যেমন নাম, বয়স, এবং বিভাগ) যুক্ত করা হয়েছে। - TableColumn:
TableColumnব্যবহার করে প্রতিটি কলামের জন্য সেল ভ্যালু ফ্যাক্টরি সেট করা হয় যা নির্ধারণ করে কোন প্রপার্টি টেবিলের ওই কলামে প্রদর্শিত হবে। - ObservableList:
ObservableListহল ডেটার একটি সংগ্রহ যা টেবিলের ডেটা রাখে এবং যখন ডেটা পরিবর্তিত হয় তখন টেবিল স্বয়ংক্রিয়ভাবে আপডেট হয়। - Scene এবং Stage: JavaFX অ্যাপ্লিকেশন তৈরি করার জন্য
SceneএবংStageব্যবহার করা হয়।Sceneএ সকল UI উপাদান যেমনTableViewথাকে, এবংStageহল উইন্ডো যা দৃশ্য প্রদর্শন করে।
২. রেজাল্ট
এই প্রোগ্রামটি রান করার পর একটি উইন্ডো খুলবে যেখানে তিনটি কলামসহ কর্মচারীদের তালিকা দেখতে পাবেন:
| Name | Age | Department |
----------------------------------------
| John Doe | 30 | HR |
| Jane Smith | 25 | Finance |
| Michael Johnson | 35 | IT |
এটি একটি সাধারণ JavaFX TableView উদাহরণ যা একটি টেবিলের মধ্যে ডেটা প্রদর্শন করে। আপনি কলামগুলো কাস্টমাইজ করতে পারেন এবং প্রয়োজনে আরও ফিচার যেমন ডেটা এডিটিং, ডিলিটিং, অর্ডারিং ইত্যাদি যুক্ত করতে পারেন।
JavaFX প্রযুক্তি
JavaFX হল একটি UI ফ্রেমওয়ার্ক যা জাভা প্ল্যাটফর্মে ডেস্কটপ অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। এটি সমৃদ্ধ ইউজার ইন্টারফেস উপাদান প্রদান করে, যেমন টেবিল, চার্ট, গ্রাফিক্স, মিডিয়া প্লেব্যাক, ইত্যাদি। JavaFX এর সবচেয়ে গুরুত্বপূর্ণ উপাদানগুলো:
- Scene: UI উপাদানগুলো দৃশ্যমানভাবে প্রদর্শনের জন্য ব্যবহৃত হয়।
- Stage: অ্যাপ্লিকেশন উইন্ডো যা একটি
Sceneধারণ করে। - Controls: বিভিন্ন UI উপাদান যেমন
Button,TextField,Label,TableViewইত্যাদি।
এটি আরও ইউজার ইন্টারফেস তৈরি করতে ব্যবহৃত হয়, যেমন গ্রাফিক্স, এনিমেশন, ডাটা ভিজুয়ালাইজেশন ইত্যাদি।
Read more