জাভা গ্রাফিকাল ইউজার ইন্টারফেস – JavaFX

আমরা কনসোল অ্যাপ তৈরি করতে করতে বিরক্ত হয়ে উঠি। চিন্তা করি কিভাবে সুন্দর একটা সফটওয়ার তৈরি করব। সুন্দর সফটওয়ারে থাকে সুন্দর সুন্দর গ্রাফিকাল ইউজার ইন্টারফে। জাভাতে গ্রাফিকাল ইউজার ইন্টারফেস তৈরি করার জন্য রয়েছে বিল্টইন ক্লাস। যেমন Swing, awt এবং JavaFX। JavaFX হচ্ছে লেটেস্ট gui লাইব্রেরী। রয়েছে দারুণ সব api এবং দারুণ সব ফিচার। ফিচার গুলোর সাথে আমরা আস্তে আস্তে পরিচিত হব। তার আগে জেনে নেই কিভাবে একটি সিম্পল JavaFX প্রজেক্ট তৈরি করতে পারি।

 

যে কোন টেক্সট এডিটর বা IDE ব্যবহার করেই আপনি JavaFX অ্যাপলিকেশন তৈরি করতে পারেন। আমি এখানে দেখাবো কিভাবে IntelliJ IDEA ব্যবহার করে JavaFX প্রোগ্রাম তৈরি করা যায়। প্রথমেই IntelliJ IDEA ইন্সটল করে নিন। Java SE Development Kit ইন্সটল না থাকলে Java SE Development Kit ডাউনলোড করে ইন্সটল করে নিন।

 

IntelliJ IDEA ওপেন করে Create Project এ ক্লিক করুন। এখান থেকে অনেক ধরণের জাভা প্রজেক্ট তৈরি করা যাবে। আমরা দেখব কিভাবে JavaFX প্রোগ্রাম তৈরি করা যায়। এখানে যদি JDK পাথ সেট না থাকে, JDK পাথ সেট করতে বলবে। Directory সিলেক্টর থেকে C:\Program Files>Java>jdk1.8.0_51 এমন ভাবে সেট করে দিলেই হবে।

 

 

JavaFX Application সিলেক্ট করে Next এ ক্লিক করতে হবে। এরপরের স্টেপে প্রজেক্টের নাম দিতে হবে এবং Finish এ ক্লিক করলে আমাদের জন্য একটা সিম্পল JavaFX প্রজেক্ট তৈরি হবে।

 

 

বাম দিক থেকে প্রজেক্টের বিভিন্ন ফাইল গুলো আমরা দেখতে পাবো। src ডিরেক্টরিতে আমরা তিনটে ফাইল দেখতে পাব। ডিফল্ট ভাবে Intellij IDEA আমাদের জন্য এই ফাইল গুলো জেনারেট করে দিয়েছে। এখানে একটা হচ্ছে Controller.java , একটা হচ্ছে Main. java আরেকটি হচ্ছে sample.fxml (View)। Main.java এর কাজ লজিক এবং ভিউ ফাইলের সাথে যোগাযোগ করা। Controller.java নিয়ে আপাতত চিন্তা না করলেও হবে।

 

sample.fxml ফাইল ওপেন করলে আমরা দুইটা অপশন পাবো। একটা হচ্ছে text মুড। আরেকটা হচ্ছে Scene Builder মুড।  Scene Builder মুডে আমরা যে কোন উইজেট  আমাদের ভিউতে যুক্ত করতে পারব। ডান দিকে অনেক গুলো উইজেট দেখতে পাবো, যেমন Button, CheckBox, ChoiceBox, ImageView ইত্যাদি। আমরা এগুলো ভিউতে যুক্ত করে এগুলো নিয়ে কাজ করতে পারব। ইনিশিয়ালি Scene Builder এ কিছুই থাকে না। আপনি চাইলে যে কোন উইজেট ড্র্যাগ করে এখানে যুক্ত করতে পারবেন।

 

 

Main.java তে ফিরে আসি। ভিউ ফাইলে কি দেখাবে, কোথায় ক্লিক করলে কি হবে, এসব কিছুই এখান থেকে কন্ট্রোল করা হয়। এর মধ্যে ডিফল্ট ভাবে নিচের কোড গুলো যুক্ত রয়েছেঃ

 

<pre>import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}</pre>

Parent root = FXMLLoader.load(getClass().getResource(“sample.fxml”)); দিয়ে ভিউ ফাইলটা কানেক্ট করা হয়েছে।
primaryStage.setTitle(“Hello World”) দিয়ে অ্যাপলিকেশনের টাইটেল সেট করা হয়েছে।
primaryStage.setScene(new Scene(root, 300, 275)) দিয়ে সেট করা হয়েছে অ্যাপলিকেশনটির width & height কতটুকু হবে। primaryStage.show() দিয়ে ফাইনালি অ্যাপলিকেশন ফ্রেমটি দেখানো হয়েছে। আমাদের প্রথমে গ্রাফিক্যাল ইউজার ইন্টারফেস যুক্ত অ্যাপটি দেখতে Run মেনু থেকে Run এ ক্লিক করুন। বা টুলবার থেকে প্লে বাটনে ক্লিক করেও রান করতে পারবেন।

সীনবিল্ডারে আপনি যে কোন ভিউ যুক্ত করে দেখুন। এরপর প্রজেক্টটি রান করে দেখুন।

 

জাভা নিয়ে সব গুলো লেখা পাওয়া যাবে জাভা প্রোগ্রামিং পেইজে। JavaFX নিয়ে অন্যান্য লেখাঃ

অ্যাপলিকেশন বা সফটওয়ার তৈরির পর সবার সাথে কিভাবে শেয়ার করা যাবে, তা সম্পর্কে জানতে পারবেন  জাভা প্রোগ্রাম থেকে এক্সিকিউটেবল (exe) প্রোগ্রাম তৈরি করা লেখাটিতে।

1 thought on “জাভা গ্রাফিকাল ইউজার ইন্টারফেস – JavaFX”

  1. NetBeans8.2 এ জাভা নিয়ে কাজ করার সময়, একটি ক্লাশ নেই New -> JFrame এর ফলে গ্রাফিকেল… কাজ করার জন্য যায়গা করে দেয়। এটা কি Java Swing এর কাজ? NetBeans এ JavaFX কি করে করবো? শুধুমাত্র New Project টা নিবো কি করে?

    Reply

Leave a Reply