JavaFX অ্যাপ্লিকেশনগুলির একটি নির্দিষ্ট জীবনচক্র (lifecycle) থাকে। JavaFX অ্যাপ্লিকেশনটি কার্যকরীভাবে কাজ করতে হলে এই জীবনচক্রের তিনটি প্রধান মেথড (init(), start(), এবং stop()) ব্যবহার করা হয়। প্রতিটি মেথডের একটি নির্দিষ্ট কাজ রয়েছে এবং এই মেথডগুলো নির্দিষ্ট সময়গুলিতে কল করা হয়।
JavaFX অ্যাপ্লিকেশন একটি Application ক্লাস থেকে এক্সটেন্ড করে তৈরি করা হয়, এবং এই ক্লাসটি তিনটি গুরুত্বপূর্ণ মেথড প্রদান করে:
init(): অ্যাপ্লিকেশন শুরু হওয়ার আগে একবার কল হয়।start(): অ্যাপ্লিকেশন চালু হওয়ার সময় কল হয়। এটি UI (User Interface) এবংSceneসেটআপ করতে ব্যবহৃত হয়।stop(): অ্যাপ্লিকেশন বন্ধ হওয়ার আগে একবার কল হয়। অ্যাপ্লিকেশন চলাকালীন যদি কোনও ক্লিনআপ (cleanup) করার প্রয়োজন হয়, তবে এখানে তা করা হয়।
১. init() মেথড:
init() মেথড অ্যাপ্লিকেশন শুরুর আগে একবার কল হয়। এটি মূলত অ্যাপ্লিকেশনের প্রস্তুতি নেওয়ার জন্য ব্যবহৃত হয়। তবে, এই মেথডে কিছু দীর্ঘস্থায়ী কাজ (যেমন: ডেটাবেস সংযোগ, ফাইল লোডিং) করা উচিত নয়, কারণ এটি সিঙ্ক্রোনাসভাবে কাজ করে এবং UI থ্রেডকে ব্লক করতে পারে।
কাজ:
- অ্যাপ্লিকেশন শুরুর আগে কিছু ইন্সট্যান্স ভেরিয়েবল বা কনফিগারেশন সেট করা।
- প্রস্তুতি নেওয়ার কাজ করা।
উদাহরণ:
import javafx.application.Application;
import javafx.stage.Stage;
public class JavaFXApp extends Application {
@Override
public void init() throws Exception {
System.out.println("init() মেথড কল হয়েছে!");
}
@Override
public void start(Stage primaryStage) {
System.out.println("start() মেথড কল হয়েছে!");
}
@Override
public void stop() throws Exception {
System.out.println("stop() মেথড কল হয়েছে!");
}
public static void main(String[] args) {
launch(args);
}
}
২. start() মেথড:
start() মেথড হল JavaFX অ্যাপ্লিকেশন চালু হওয়ার সময় কল হওয়া প্রধান মেথড। এখানে মূল UI উপাদান এবং Scene সেটআপ করা হয়। এই মেথডটি Stage অবজেক্ট গ্রহণ করে, যা অ্যাপ্লিকেশনের মূল উইন্ডো হিসাবে কাজ করে। সাধারণত এখানে আপনি UI উপাদান যেমন বাটন, লেবেল, টেক্সটফিল্ড, ইত্যাদি তৈরি এবং সেটআপ করেন।
কাজ:
- UI উপাদান তৈরি করা এবং সেটআপ করা।
StageএবংSceneইনিশিয়ালাইজ করা এবং দেখানো।
উদাহরণ:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class JavaFXApp extends Application {
@Override
public void start(Stage primaryStage) {
// একটি বাটন তৈরি
Button btn = new Button("Click Me");
// বাটনে ইভেন্ট হ্যান্ডলার সেট করা
btn.setOnAction(e -> System.out.println("Button clicked!"));
// লেআউট কন্টেইনার
StackPane root = new StackPane();
root.getChildren().add(btn);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("JavaFX Application");
primaryStage.setScene(scene);
// স্টেজ দেখানো
primaryStage.show();
}
public static void main(String[] args) {
launch(args); // অ্যাপ্লিকেশন চালু করা
}
}
৩. stop() মেথড:
stop() মেথড হল অ্যাপ্লিকেশন বন্ধ হওয়ার সময় কল হয়। এটি মূলত ক্লিনআপ বা রিসোর্স রিলিজের জন্য ব্যবহৃত হয়, যেমন ফাইল বন্ধ করা, নেটওয়ার্ক সংযোগ বন্ধ করা বা থ্রেড বন্ধ করা। stop() মেথডে দীর্ঘস্থায়ী কাজ করা উচিত নয়, কারণ এটি অ্যাপ্লিকেশন বন্ধ করার প্রক্রিয়াকে বিলম্বিত করতে পারে।
কাজ:
- অ্যাপ্লিকেশন বন্ধ হওয়ার আগে রিসোর্স মুক্ত করা।
- থ্রেড বা অন্যান্য ক্লিনআপ কাজ করা।
উদাহরণ:
import javafx.application.Application;
import javafx.stage.Stage;
public class JavaFXApp extends Application {
@Override
public void init() throws Exception {
System.out.println("init() মেথড কল হয়েছে!");
}
@Override
public void start(Stage primaryStage) {
System.out.println("start() মেথড কল হয়েছে!");
}
@Override
public void stop() throws Exception {
System.out.println("stop() মেথড কল হয়েছে! ক্লিনআপ হচ্ছে...");
// এখানে ক্লিনআপ কোড যেমন ডেটাবেস সংযোগ বন্ধ করা, ফাইল ক্লোজ করা ইত্যাদি করা যায়
}
public static void main(String[] args) {
launch(args); // অ্যাপ্লিকেশন চালু করা
}
}
JavaFX অ্যাপ্লিকেশনের জীবনচক্র:
init()মেথড:- অ্যাপ্লিকেশনটি শুরু হওয়ার আগে একবার কল হয়।
- এটি সাধারণত প্রস্তুতি নেওয়ার কাজ (যেমন ডেটা লোড করা বা কনফিগারেশন সেট করা) করে।
start()মেথড:- অ্যাপ্লিকেশন চালু হওয়ার সময় একবার কল হয়।
- এটি UI তৈরি এবং স্টেজ সেটআপের জন্য ব্যবহৃত হয়।
- এখানে মূল UI উপাদান তৈরি করা এবং
Stage/Sceneসেট করা হয়।
stop()মেথড:- অ্যাপ্লিকেশনটি বন্ধ হওয়ার আগে একবার কল হয়।
- এখানে ক্লিনআপ বা রিসোর্স রিলিজের কাজ করা হয়।
JavaFX অ্যাপ্লিকেশনের জীবনচক্রের তিনটি গুরুত্বপূর্ণ মেথড হল init(), start(), এবং stop()। init() মেথড অ্যাপ্লিকেশন শুরুর প্রস্তুতি কাজের জন্য ব্যবহৃত হয়, start() মেথড UI উপাদান তৈরি এবং স্টেজ সেটআপ করার জন্য ব্যবহৃত হয়, এবং stop() মেথড অ্যাপ্লিকেশন বন্ধ হওয়ার আগে ক্লিনআপ কার্যক্রম করার জন্য ব্যবহৃত হয়। এই মেথডগুলোকে সঠিকভাবে ব্যবহার করলে JavaFX অ্যাপ্লিকেশন উন্নত এবং দক্ষভাবে কাজ করবে।
Read more