JavaFX-এ JSON এবং XML ডেটা প্রদর্শন করার জন্য, আপনাকে এই ডেটা ফাইলগুলি পার্স (parse) করতে হবে এবং তারপর সেগুলিকে JavaFX UI উপাদানগুলিতে প্রদর্শন করতে হবে। এখানে আমি JSON এবং XML ডেটা পার্স করার জন্য কিছু উদাহরণ দেব এবং তারপর সেই ডেটা JavaFX UI তে কিভাবে দেখানো যায় সেটি ব্যাখ্যা করব।
1. JSON ডেটা JavaFX UI তে প্রদর্শন
ধরা যাক, আপনার একটি JSON ফাইল রয়েছে যা কিছু ডাটা ধারণ করে এবং আপনি সেই ডেটা JavaFX UI তে প্রদর্শন করতে চান।
JSON উদাহরণ:
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Springfield"
}
}
JavaFX-এ JSON পার্স এবং UI তে প্রদর্শন করার উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.beans.property.SimpleStringProperty;
import org.json.JSONObject;
public class JSONExample extends Application {
@Override
public void start(Stage primaryStage) {
// JSON ডেটা
String jsonString = "{ \"name\": \"John Doe\", \"age\": 30, \"address\": { \"street\": \"123 Main St\", \"city\": \"Springfield\" }}";
// JSON পার্স করা
JSONObject jsonObject = new JSONObject(jsonString);
// JSON থেকে ডেটা বের করা
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
JSONObject address = jsonObject.getJSONObject("address");
String street = address.getString("street");
String city = address.getString("city");
// UI উপাদান তৈরি করা
Label nameLabel = new Label("Name: " + name);
Label ageLabel = new Label("Age: " + age);
Label addressLabel = new Label("Address: " + street + ", " + city);
// VBox লেআউট
VBox vbox = new VBox(10, nameLabel, ageLabel, addressLabel);
// Scene তৈরি করা
Scene scene = new Scene(vbox, 300, 200);
// Stage সেট করা
primaryStage.setTitle("JSON Data Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
এখানে কী হচ্ছে?
- JSONObject ব্যবহার করে JSON ডেটা পার্স করা হয়েছে।
- JSON থেকে নাম, বয়স এবং ঠিকানা (street, city) বের করে
Labelএর মাধ্যমে UI তে প্রদর্শন করা হয়েছে।
2. XML ডেটা JavaFX UI তে প্রদর্শন
এখন, ধরা যাক আপনার একটি XML ফাইল রয়েছে যা কিছু ডেটা ধারণ করে এবং আপনি সেই ডেটা JavaFX UI তে প্রদর্শন করতে চান।
XML উদাহরণ:
<person>
<name>John Doe</name>
<age>30</age>
<address>
<street>123 Main St</street>
<city>Springfield</city>
</address>
</person>
JavaFX-এ XML পার্স এবং UI তে প্রদর্শন করার উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;
public class XMLExample extends Application {
@Override
public void start(Stage primaryStage) {
try {
// XML ডেটা স্ট্রিং
String xmlString = "<person><name>John Doe</name><age>30</age><address><street>123 Main St</street><city>Springfield</city></address></person>";
// XML ডেটা পার্স করা
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new org.xml.sax.InputSource(new java.io.StringReader(xmlString)));
// নাম, বয়স এবং ঠিকানা বের করা
NodeList nameNode = doc.getElementsByTagName("name");
NodeList ageNode = doc.getElementsByTagName("age");
NodeList streetNode = doc.getElementsByTagName("street");
NodeList cityNode = doc.getElementsByTagName("city");
String name = nameNode.item(0).getTextContent();
String age = ageNode.item(0).getTextContent();
String street = streetNode.item(0).getTextContent();
String city = cityNode.item(0).getTextContent();
// UI উপাদান তৈরি করা
Label nameLabel = new Label("Name: " + name);
Label ageLabel = new Label("Age: " + age);
Label addressLabel = new Label("Address: " + street + ", " + city);
// VBox লেআউট
VBox vbox = new VBox(10, nameLabel, ageLabel, addressLabel);
// Scene তৈরি করা
Scene scene = new Scene(vbox, 300, 200);
// Stage সেট করা
primaryStage.setTitle("XML Data Example");
primaryStage.setScene(scene);
primaryStage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
এখানে কী হচ্ছে?
- DocumentBuilderFactory এবং DocumentBuilder ব্যবহার করে XML ডেটা পার্স করা হয়েছে।
- XML থেকে নাম, বয়স, ঠিকানা (street, city) বের করে
Labelএর মাধ্যমে UI তে প্রদর্শন করা হয়েছে।
JavaFX UI তে JSON এবং XML ডেটা প্রদর্শনের সুবিধা:
- JSON এবং XML Parsing: JavaFX-এ JSON এবং XML ডেটা পার্স করার জন্য লাইব্রেরি ব্যবহার করা সহজ, যেমন org.json (JSON) এবং javax.xml (XML)।
- UI Integration: পার্স করা ডেটা UI উপাদানগুলিতে (যেমন
Label,TableView, ইত্যাদি) প্রদর্শন করা খুবই সহজ। - Data Binding: JavaFX ডেটা বাইন্ডিং ব্যবহার করে আপনি UI উপাদানগুলির সাথে ডেটা সিঙ্ক্রোনাইজ করতে পারেন, যা অ্যাপ্লিকেশন উন্নয়নের জন্য শক্তিশালী পদ্ধতি।
সারাংশ:
JavaFX ব্যবহার করে আপনি JSON এবং XML ডেটা সহজেই পার্স এবং UI তে প্রদর্শন করতে পারেন। JSON ডেটা সাধারণত ওয়েব অ্যাপ্লিকেশন এবং API থেকে ডেটা পাওয়ার জন্য ব্যবহৃত হয়, এবং XML ডেটা সাধারণত কনফিগারেশন ফাইল বা অন্য ধরনের স্ট্রাকচারড ডেটা সঞ্চয় করার জন্য ব্যবহৃত হয়। JavaFX এ Label, TableView, ListView ইত্যাদি উপাদান ব্যবহার করে আপনি এই ডেটাগুলি সুন্দরভাবে UI তে প্রদর্শন করতে পারেন।
Read more