Skill

জাভাএফএক্স (JavaFx)

472

জাভাএফএক্স হলো Java প্রোগ্রামিং ভাষায় ব্যবহার করা একটি Graphical User Interface (GUI) টুলকিট, যা ডেক্সটপ অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এটি Sun Microsystems দ্বারা ডেভেলপ করা হয়েছিল এবং বর্তমানে Oracle এর মাধ্যমে পরিচালিত হয়। JavaFX মূলত Java Swing এর উত্তরসূরি হিসেবে তৈরি করা হয়েছে, এবং এটি আধুনিক ইউজার ইন্টারফেস, রিচ মিডিয়া এবং মাল্টিমিডিয়া অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়।

JavaFX HTML5 এর বিকল্প হিসেবে কাজ করতে পারে এবং এটি Java Virtual Machine (JVM) এর মাধ্যমে যেকোনো প্ল্যাটফর্মে চলতে সক্ষম। JavaFX এর মাধ্যমে ডেস্কটপ অ্যাপ্লিকেশন, রিচ ইন্টারনেট অ্যাপ্লিকেশন (RIA), এবং ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন তৈরি করা যায়।


JavaFX বাংলা টিউটোরিয়াল

JavaFX হলো Java ভিত্তিক একটি সমৃদ্ধ ইউজার ইন্টারফেস (UI) ফ্রেমওয়ার্ক, যা ডেস্কটপ এবং ইন্টারনেট-বেসড অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। JavaFX দিয়ে আধুনিক, রেসপনসিভ এবং ইন্টারেক্টিভ GUI (Graphical User Interface) তৈরি করা যায়।

JavaFX-এর প্রধান বৈশিষ্ট্যসমূহ:

  1. Java API ভিত্তিক: JavaFX জাভার সাথে কাজ করে এবং Java 8 এর পর থেকে এটি Java Standard Edition (SE)-এর অংশ।
  2. CSS স্টাইলিং: JavaFX এ CSS এর সাহায্যে UI-এর লেআউট এবং ডিজাইন কাস্টমাইজ করা যায়।
  3. FXML: XML ভিত্তিক একটি ল্যাঙ্গুয়েজ যা JavaFX এর UI নির্মাণে ব্যবহৃত হয়।
  4. 3D গ্রাফিক্স সাপোর্ট: JavaFX 2D এবং 3D গ্রাফিক্স সাপোর্ট করে, যা ব্যবহার করে উন্নত গ্রাফিক্যাল ইন্টারফেস তৈরি করা যায়।
  5. ওয়েব ইঞ্জিন: JavaFX-এ একটি বিল্ট-ইন ওয়েব ভিউ আছে, যা দিয়ে HTML কনটেন্ট এবং ওয়েব পেজগুলোকে UI-তে এম্বেড করা যায়।
  6. মাল্টিমিডিয়া সাপোর্ট: JavaFX দিয়ে অডিও, ভিডিও এবং চিত্র ফাইল সহজেই প্লে করা যায়।

JavaFX শুরু করার ধাপ

JavaFX শুরু করতে প্রথমে আপনার কম্পিউটারে Java Development Kit (JDK) ইনস্টল করতে হবে। Java 8 এর পর থেকে JavaFX JDK-এর অন্তর্ভুক্ত, তাই আলাদাভাবে JavaFX ডাউনলোড করার প্রয়োজন নেই।

JavaFX প্রজেক্ট তৈরি (IntelliJ IDEA ব্যবহার করে)

ধাপ ১: IntelliJ IDEA ইনস্টলেশন

প্রথমে IntelliJ IDEA ডাউনলোড এবং ইনস্টল করুন।

ধাপ ২: নতুন JavaFX প্রজেক্ট তৈরি

  1. নতুন প্রজেক্ট তৈরি করুন: IntelliJ IDEA খুলুন এবং নতুন প্রজেক্ট তৈরি করুন।
  2. JavaFX লাইব্রেরি যোগ করুন: প্রজেক্টের জন্য JavaFX লাইব্রেরি যোগ করতে হবে। এজন্য Project Structure-এ গিয়ে Libraries সেকশনে JavaFX SDK যোগ করতে হবে।

ধাপ ৩: JavaFX অ্যাপ্লিকেশন তৈরি

একটি সাধারণ JavaFX অ্যাপ্লিকেশন তৈরি করতে নিচের ধাপগুলো অনুসরণ করুন:

  1. Main Application Class তৈরি করুন: একটি নতুন Java class তৈরি করুন যা Application ক্লাস থেকে ইনহেরিট করবে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class MainApp extends Application {

    @Override
    public void start(Stage primaryStage) {
        // একটি বোতাম তৈরি করুন
        Button btn = new Button();
        btn.setText("Hello, JavaFX!");
        btn.setOnAction(event -> System.out.println("Button clicked!"));

        // StackPane লেআউট সেট করুন
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        // Scene তৈরি করুন
        Scene scene = new Scene(root, 300, 250);

        // Stage এ Scene যোগ করুন এবং প্রদর্শন করুন
        primaryStage.setTitle("JavaFX প্রোগ্রাম");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

কোড ব্যাখ্যা:

  • Application ক্লাস: JavaFX এ অ্যাপ্লিকেশন তৈরি করতে এই ক্লাসটি ইনহেরিট করতে হয়।
  • Stage এবং Scene: Stage হলো অ্যাপ্লিকেশনের প্রধান উইন্ডো, আর Scene হলো যেখানে UI উপাদানগুলো প্রদর্শিত হয়।
  • UI উপাদান: এখানে একটি সাধারণ Button তৈরি করা হয়েছে, যেটি ক্লিক করলে একটি মেসেজ প্রিন্ট করবে।

ধাপ ৪: অ্যাপ্লিকেশন রান করা

প্রজেক্ট রান করলে একটি উইন্ডো প্রদর্শিত হবে যেখানে "Hello, JavaFX!" লেখা বোতাম দেখা যাবে। বোতামে ক্লিক করলে কনসোলে মেসেজ প্রদর্শিত হবে।

FXML ব্যবহার করা

FXML হলো একটি XML ভিত্তিক ভাষা, যা দিয়ে JavaFX অ্যাপ্লিকেশনের UI আলাদা করে ডিজাইন করা যায়। এটি MVC (Model-View-Controller) প্যাটার্নে অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।

উদাহরণ:

  1. FXML ফাইল তৈরি করুন: sample.fxml নামে একটি FXML ফাইল তৈরি করুন।
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane xmlns:fx="http://javafx.com/fxml" fx:controller="sample.MainController">
   <Button text="Click Me!" layoutX="100" layoutY="100" onAction="#handleButtonAction"/>
</AnchorPane>
  1. Controller ক্লাস তৈরি করুন: FXML এর ইভেন্ট হ্যান্ডলিংয়ের জন্য একটি Controller ক্লাস তৈরি করতে হবে।
package sample;

import javafx.fxml.FXML;
import javafx.scene.control.Button;

public class MainController {
    
    @FXML
    private Button myButton;

    @FXML
    private void handleButtonAction() {
        System.out.println("Button clicked using FXML!");
    }
}
  1. Main Application Class আপডেট করুন: start মেথডে FXMLLoader ব্যবহার করে FXML লোড করুন।
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class MainApp extends Application {

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

    public static void main(String[] args) {
        launch(args);
    }
}

কোড ব্যাখ্যা:

  • FXML ফাইল: UI ডিজাইন করার জন্য একটি XML ফাইল, যেখানে একটি বোতাম রাখা হয়েছে।
  • Controller ক্লাস: UI উপাদানগুলোর সাথে ইন্টারেকশন করার জন্য এটি ব্যবহার করা হয়।
  • FXML লোড করা: FXMLLoader এর মাধ্যমে FXML ফাইল লোড করা হয়।

CSS দিয়ে JavaFX স্টাইলিং

JavaFX-এ CSS ব্যবহার করে UI-এর স্টাইল কাস্টমাইজ করা যায়। নিচে একটি উদাহরণ দেখানো হলো:

CSS উদাহরণ:

.button {
    -fx-background-color: #3498db;
    -fx-text-fill: white;
    -fx-font-size: 14px;
}

FXML-এ CSS যোগ করা:

<AnchorPane xmlns:fx="http://javafx.com/fxml" fx:controller="sample.MainController" stylesheets="@style.css">
   <Button text="Styled Button" layoutX="100" layoutY="100" styleClass="button"/>
</AnchorPane>

JavaFX দিয়ে 3D গ্রাফিক্স

JavaFX-এ 3D অবজেক্ট তৈরি করা সম্ভব। নিচে একটি 3D বক্স তৈরি করার উদাহরণ:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.stage.Stage;

public class ThreeDExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        Box box = new Box(100, 100, 100);
        PhongMaterial material = new PhongMaterial();
        material.setDiffuseColor(Color.DODGERBLUE);
        box.setMaterial(material);

        Group root = new Group(box);

        Scene scene = new Scene(root, 400, 300);
        scene.setCamera(new PerspectiveCamera());

        primaryStage.setTitle("3D Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

উপসংহার

JavaFX একটি শক্তিশালী এবং ফ্লেক্সিবল UI ফ্রেমওয়ার্ক যা ডেস্কটপ এবং ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। JavaFX এর গ্রাফিক্যাল ইন্টারফেস এবং মাল্টিমিডিয়া সাপোর্টের কারণে এটি একটি জনপ্রিয় টুল হয়ে উঠেছে। FXML এবং CSS ব্যবহার করে JavaFX অ্যাপ্লিকেশনগুলো আরও স্ট্রাকচার্ড এবং ম্যানেজেবল করা যায়।

জাভাএফএক্স হলো Java প্রোগ্রামিং ভাষায় ব্যবহার করা একটি Graphical User Interface (GUI) টুলকিট, যা ডেক্সটপ অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এটি Sun Microsystems দ্বারা ডেভেলপ করা হয়েছিল এবং বর্তমানে Oracle এর মাধ্যমে পরিচালিত হয়। JavaFX মূলত Java Swing এর উত্তরসূরি হিসেবে তৈরি করা হয়েছে, এবং এটি আধুনিক ইউজার ইন্টারফেস, রিচ মিডিয়া এবং মাল্টিমিডিয়া অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়।

JavaFX HTML5 এর বিকল্প হিসেবে কাজ করতে পারে এবং এটি Java Virtual Machine (JVM) এর মাধ্যমে যেকোনো প্ল্যাটফর্মে চলতে সক্ষম। JavaFX এর মাধ্যমে ডেস্কটপ অ্যাপ্লিকেশন, রিচ ইন্টারনেট অ্যাপ্লিকেশন (RIA), এবং ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন তৈরি করা যায়।


JavaFX বাংলা টিউটোরিয়াল

JavaFX হলো Java ভিত্তিক একটি সমৃদ্ধ ইউজার ইন্টারফেস (UI) ফ্রেমওয়ার্ক, যা ডেস্কটপ এবং ইন্টারনেট-বেসড অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। JavaFX দিয়ে আধুনিক, রেসপনসিভ এবং ইন্টারেক্টিভ GUI (Graphical User Interface) তৈরি করা যায়।

JavaFX-এর প্রধান বৈশিষ্ট্যসমূহ:

  1. Java API ভিত্তিক: JavaFX জাভার সাথে কাজ করে এবং Java 8 এর পর থেকে এটি Java Standard Edition (SE)-এর অংশ।
  2. CSS স্টাইলিং: JavaFX এ CSS এর সাহায্যে UI-এর লেআউট এবং ডিজাইন কাস্টমাইজ করা যায়।
  3. FXML: XML ভিত্তিক একটি ল্যাঙ্গুয়েজ যা JavaFX এর UI নির্মাণে ব্যবহৃত হয়।
  4. 3D গ্রাফিক্স সাপোর্ট: JavaFX 2D এবং 3D গ্রাফিক্স সাপোর্ট করে, যা ব্যবহার করে উন্নত গ্রাফিক্যাল ইন্টারফেস তৈরি করা যায়।
  5. ওয়েব ইঞ্জিন: JavaFX-এ একটি বিল্ট-ইন ওয়েব ভিউ আছে, যা দিয়ে HTML কনটেন্ট এবং ওয়েব পেজগুলোকে UI-তে এম্বেড করা যায়।
  6. মাল্টিমিডিয়া সাপোর্ট: JavaFX দিয়ে অডিও, ভিডিও এবং চিত্র ফাইল সহজেই প্লে করা যায়।

JavaFX শুরু করার ধাপ

JavaFX শুরু করতে প্রথমে আপনার কম্পিউটারে Java Development Kit (JDK) ইনস্টল করতে হবে। Java 8 এর পর থেকে JavaFX JDK-এর অন্তর্ভুক্ত, তাই আলাদাভাবে JavaFX ডাউনলোড করার প্রয়োজন নেই।

JavaFX প্রজেক্ট তৈরি (IntelliJ IDEA ব্যবহার করে)

ধাপ ১: IntelliJ IDEA ইনস্টলেশন

প্রথমে IntelliJ IDEA ডাউনলোড এবং ইনস্টল করুন।

ধাপ ২: নতুন JavaFX প্রজেক্ট তৈরি

  1. নতুন প্রজেক্ট তৈরি করুন: IntelliJ IDEA খুলুন এবং নতুন প্রজেক্ট তৈরি করুন।
  2. JavaFX লাইব্রেরি যোগ করুন: প্রজেক্টের জন্য JavaFX লাইব্রেরি যোগ করতে হবে। এজন্য Project Structure-এ গিয়ে Libraries সেকশনে JavaFX SDK যোগ করতে হবে।

ধাপ ৩: JavaFX অ্যাপ্লিকেশন তৈরি

একটি সাধারণ JavaFX অ্যাপ্লিকেশন তৈরি করতে নিচের ধাপগুলো অনুসরণ করুন:

  1. Main Application Class তৈরি করুন: একটি নতুন Java class তৈরি করুন যা Application ক্লাস থেকে ইনহেরিট করবে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class MainApp extends Application {

    @Override
    public void start(Stage primaryStage) {
        // একটি বোতাম তৈরি করুন
        Button btn = new Button();
        btn.setText("Hello, JavaFX!");
        btn.setOnAction(event -> System.out.println("Button clicked!"));

        // StackPane লেআউট সেট করুন
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        // Scene তৈরি করুন
        Scene scene = new Scene(root, 300, 250);

        // Stage এ Scene যোগ করুন এবং প্রদর্শন করুন
        primaryStage.setTitle("JavaFX প্রোগ্রাম");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

কোড ব্যাখ্যা:

  • Application ক্লাস: JavaFX এ অ্যাপ্লিকেশন তৈরি করতে এই ক্লাসটি ইনহেরিট করতে হয়।
  • Stage এবং Scene: Stage হলো অ্যাপ্লিকেশনের প্রধান উইন্ডো, আর Scene হলো যেখানে UI উপাদানগুলো প্রদর্শিত হয়।
  • UI উপাদান: এখানে একটি সাধারণ Button তৈরি করা হয়েছে, যেটি ক্লিক করলে একটি মেসেজ প্রিন্ট করবে।

ধাপ ৪: অ্যাপ্লিকেশন রান করা

প্রজেক্ট রান করলে একটি উইন্ডো প্রদর্শিত হবে যেখানে "Hello, JavaFX!" লেখা বোতাম দেখা যাবে। বোতামে ক্লিক করলে কনসোলে মেসেজ প্রদর্শিত হবে।

FXML ব্যবহার করা

FXML হলো একটি XML ভিত্তিক ভাষা, যা দিয়ে JavaFX অ্যাপ্লিকেশনের UI আলাদা করে ডিজাইন করা যায়। এটি MVC (Model-View-Controller) প্যাটার্নে অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।

উদাহরণ:

  1. FXML ফাইল তৈরি করুন: sample.fxml নামে একটি FXML ফাইল তৈরি করুন।
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane xmlns:fx="http://javafx.com/fxml" fx:controller="sample.MainController">
   <Button text="Click Me!" layoutX="100" layoutY="100" onAction="#handleButtonAction"/>
</AnchorPane>
  1. Controller ক্লাস তৈরি করুন: FXML এর ইভেন্ট হ্যান্ডলিংয়ের জন্য একটি Controller ক্লাস তৈরি করতে হবে।
package sample;

import javafx.fxml.FXML;
import javafx.scene.control.Button;

public class MainController {
    
    @FXML
    private Button myButton;

    @FXML
    private void handleButtonAction() {
        System.out.println("Button clicked using FXML!");
    }
}
  1. Main Application Class আপডেট করুন: start মেথডে FXMLLoader ব্যবহার করে FXML লোড করুন।
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class MainApp extends Application {

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

    public static void main(String[] args) {
        launch(args);
    }
}

কোড ব্যাখ্যা:

  • FXML ফাইল: UI ডিজাইন করার জন্য একটি XML ফাইল, যেখানে একটি বোতাম রাখা হয়েছে।
  • Controller ক্লাস: UI উপাদানগুলোর সাথে ইন্টারেকশন করার জন্য এটি ব্যবহার করা হয়।
  • FXML লোড করা: FXMLLoader এর মাধ্যমে FXML ফাইল লোড করা হয়।

CSS দিয়ে JavaFX স্টাইলিং

JavaFX-এ CSS ব্যবহার করে UI-এর স্টাইল কাস্টমাইজ করা যায়। নিচে একটি উদাহরণ দেখানো হলো:

CSS উদাহরণ:

.button {
    -fx-background-color: #3498db;
    -fx-text-fill: white;
    -fx-font-size: 14px;
}

FXML-এ CSS যোগ করা:

<AnchorPane xmlns:fx="http://javafx.com/fxml" fx:controller="sample.MainController" stylesheets="@style.css">
   <Button text="Styled Button" layoutX="100" layoutY="100" styleClass="button"/>
</AnchorPane>

JavaFX দিয়ে 3D গ্রাফিক্স

JavaFX-এ 3D অবজেক্ট তৈরি করা সম্ভব। নিচে একটি 3D বক্স তৈরি করার উদাহরণ:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.stage.Stage;

public class ThreeDExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        Box box = new Box(100, 100, 100);
        PhongMaterial material = new PhongMaterial();
        material.setDiffuseColor(Color.DODGERBLUE);
        box.setMaterial(material);

        Group root = new Group(box);

        Scene scene = new Scene(root, 400, 300);
        scene.setCamera(new PerspectiveCamera());

        primaryStage.setTitle("3D Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

উপসংহার

JavaFX একটি শক্তিশালী এবং ফ্লেক্সিবল UI ফ্রেমওয়ার্ক যা ডেস্কটপ এবং ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। JavaFX এর গ্রাফিক্যাল ইন্টারফেস এবং মাল্টিমিডিয়া সাপোর্টের কারণে এটি একটি জনপ্রিয় টুল হয়ে উঠেছে। FXML এবং CSS ব্যবহার করে JavaFX অ্যাপ্লিকেশনগুলো আরও স্ট্রাকচার্ড এবং ম্যানেজেবল করা যায়।

Promotion

Are you sure to start over?

Loading...