Java FX এবং GUI Examples

Java Technologies - জাভা উদাহরন (Java  Examples)
270
270

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

১. সাধারণ JavaFX অ্যাপ্লিকেশন উদাহরণ

এটি একটি সাধারণ JavaFX অ্যাপ্লিকেশন, যেখানে একটি Button এবং একটি Label ব্যবহার করা হয়েছে।

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class SimpleJavaFXExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // একটি টেক্সট তৈরি
        Text message = new Text("Hello, JavaFX!");

        // একটি বাটন তৈরি
        Button btn = new Button("Click Me");

        // বাটনের অ্যাকশন
        btn.setOnAction(event -> message.setText("Button Clicked!"));

        // StackPane layout এ বাটন এবং টেক্সট যোগ করা
        StackPane root = new StackPane();
        root.getChildren().addAll(btn, message);

        // Scene তৈরি করা এবং সেট করা
        Scene scene = new Scene(root, 300, 250);

        // স্টেজের টাইটেল সেট করা
        primaryStage.setTitle("JavaFX Example");
        primaryStage.setScene(scene);

        // স্টেজ প্রদর্শন করা
        primaryStage.show();
    }

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

২. JavaFX TextField এবং Button উদাহরণ

এই উদাহরণে, একটি TextField এবং একটি Button ব্যবহার করা হয়েছে, যেখানে ইউজার একটি টেক্সট ইনপুট দিতে পারবেন এবং বাটন ক্লিক করলে সেই টেক্সটটি Label-এ প্রদর্শিত হবে।

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TextFieldExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // একটি টেক্সটফিল্ড তৈরি
        TextField textField = new TextField();

        // একটি বাটন তৈরি
        Button btn = new Button("Show Text");

        // একটি লেবেল তৈরি
        Label label = new Label();

        // বাটনের অ্যাকশন
        btn.setOnAction(event -> {
            String text = textField.getText();  // টেক্সটফিল্ডের ইনপুট নেওয়া
            label.setText("You entered: " + text);  // লেবেলে টেক্সট সেট করা
        });

        // VBox layout এ সব উপাদান যোগ করা
        VBox vbox = new VBox(10, textField, btn, label);
        vbox.setStyle("-fx-padding: 20;");

        // Scene তৈরি করা এবং সেট করা
        Scene scene = new Scene(vbox, 300, 200);

        // স্টেজের টাইটেল সেট করা
        primaryStage.setTitle("TextField Example");
        primaryStage.setScene(scene);

        // স্টেজ প্রদর্শন করা
        primaryStage.show();
    }

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

৩. JavaFX ComboBox উদাহরণ

এটি একটি ComboBox ব্যবহার করে একটি ড্রপডাউন তৈরি করার উদাহরণ যেখানে ইউজার একটি অপশন নির্বাচন করতে পারেন।

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class ComboBoxExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // একটি ComboBox তৈরি
        ComboBox<String> comboBox = new ComboBox<>();
        comboBox.getItems().addAll("Option 1", "Option 2", "Option 3", "Option 4");

        // একটি লেবেল তৈরি
        Label label = new Label("Select an option:");

        // ComboBox এর নির্বাচন পরিবর্তন হলে লেবেলে তা দেখানো হবে
        comboBox.setOnAction(event -> {
            String selectedOption = comboBox.getValue();
            label.setText("You selected: " + selectedOption);
        });

        // VBox layout এ উপাদান যোগ করা
        VBox vbox = new VBox(10, label, comboBox);
        vbox.setStyle("-fx-padding: 20;");

        // Scene তৈরি করা এবং সেট করা
        Scene scene = new Scene(vbox, 300, 200);

        // স্টেজের টাইটেল সেট করা
        primaryStage.setTitle("ComboBox Example");
        primaryStage.setScene(scene);

        // স্টেজ প্রদর্শন করা
        primaryStage.show();
    }

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

৪. JavaFX GridPane উদাহরণ (ফর্ম ডিজাইন)

এটি একটি ফর্ম ডিজাইন করার উদাহরণ যেখানে GridPane ব্যবহার করা হয়েছে।

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class GridPaneExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // একটি GridPane layout তৈরি
        GridPane grid = new GridPane();
        grid.setVgap(10);
        grid.setHgap(10);

        // ফর্মের জন্য লেবেল এবং টেক্সটফিল্ড তৈরি
        Label nameLabel = new Label("Name:");
        TextField nameField = new TextField();

        Label emailLabel = new Label("Email:");
        TextField emailField = new TextField();

        Button submitButton = new Button("Submit");

        // উপাদান গুলি গ্রিডে যোগ করা
        grid.add(nameLabel, 0, 0);
        grid.add(nameField, 1, 0);
        grid.add(emailLabel, 0, 1);
        grid.add(emailField, 1, 1);
        grid.add(submitButton, 1, 2);

        // Scene তৈরি করা এবং সেট করা
        Scene scene = new Scene(grid, 300, 200);

        // স্টেজের টাইটেল সেট করা
        primaryStage.setTitle("GridPane Form Example");
        primaryStage.setScene(scene);

        // স্টেজ প্রদর্শন করা
        primaryStage.show();
    }

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

৫. JavaFX রঙ এবং স্টাইল সেটিংস

JavaFX তে বিভিন্ন উপাদানের রঙ এবং স্টাইল পরিবর্তন করা যায় CSS এর মাধ্যমে। নিচে একটি উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class StyledButtonExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // একটি বাটন তৈরি
        Button btn = new Button("Styled Button");

        // বাটনে CSS স্টাইল প্রয়োগ করা
        btn.setStyle("-fx-background-color: #00ff00; -fx-font-size: 16px;");

        // StackPane layout তৈরি এবং বাটন যোগ করা
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        // Scene তৈরি এবং সেট করা
        Scene scene = new Scene(root, 300, 250);

        // স্টেজের টাইটেল সেট করা
        primaryStage.setTitle("Styled Button Example");
        primaryStage.setScene(scene);

        // স্টেজ প্রদর্শন করা
        primaryStage.show();
    }

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

JavaFX এর সুবিধা:

  • Rich UI: JavaFX আপনাকে অত্যন্ত উন্নত এবং ইন্টারঅ্যাক্টিভ ইউজার ইন্টারফেস ডিজাইন করতে সহায়তা করে।
  • Scene Builder: আপনি JavaFX-এর জন্য Scene Builder ব্যবহার করতে পারেন, যা গ্রাফিক্যাল ইন্টারফেসের মাধ্যমে GUI ডিজাইন করার জন্য একটি দুর্দান্ত টুল।
  • CSS Styling: JavaFX GUI উপাদানগুলি CSS এর মাধ্যমে সহজেই স্টাইল করা যায়, যা তাদের আরও আকর্ষণীয় করে তোলে।

এই উদাহরণগুলি JavaFX-এর মূল বৈশিষ্ট্য এবং GUI তৈরি করার কিছু সাধারণ উপায় প্রদর্শন করে।

Content added By

Java FX Hello World Example: Java FX ব্যবহার করে Simple GUI তৈরি করা

173
173

নিচে একটি জাভা উদাহরণ দেওয়া হয়েছে যেখানে JavaFX ব্যবহার করে একটি সাধারণ GUI অ্যাপ্লিকেশন তৈরি করা হয়েছে। এই অ্যাপ্লিকেশনটি শুধুমাত্র একটি "Hello, World!" বার্তা প্রদর্শন করবে।

JavaFX Hello World Example

JavaFX দিয়ে একটি সিম্পল GUI তৈরি করতে আপনাকে কিছু ক্লাস ব্যবহার করতে হবে, যেমন Application, Stage, এবং Scene

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorldFX extends Application {

    @Override
    public void start(Stage primaryStage) {
        // "Hello, World!" বার্তা সহ একটি Label তৈরি করুন
        Label helloLabel = new Label("Hello, World!");

        // একটি StackPane লেআউট ব্যবহার করুন
        StackPane root = new StackPane();
        root.getChildren().add(helloLabel);

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

        // স্টেজের শিরোনাম সেট করুন
        primaryStage.setTitle("JavaFX Hello World");
        
        // স্টেজে সিন দৃশ্য যোগ করুন
        primaryStage.setScene(scene);
        
        // স্টেজটি দেখান
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args); // অ্যাপ্লিকেশন শুরু করুন
    }
}

ব্যাখ্যা:

  1. Application ক্লাস: JavaFX অ্যাপ্লিকেশন তৈরি করতে Application ক্লাসকে এক্সটেন্ড করতে হয় এবং start() মেথডে অ্যাপ্লিকেশনের GUI উপাদান সেট করতে হয়।
  2. Stage: Stage হল প্রধান উইন্ডো যেখানে অ্যাপ্লিকেশনের UI উপাদানগুলো প্রদর্শিত হয়। এটি মূলত একটি উইন্ডো যা অ্যাপ্লিকেশনের প্রধান দৃশ্য।
  3. Scene: Scene হল স্টেজের মধ্যে প্রদর্শিত GUI উপাদানগুলির ধারণকারী কনটেইনার। আমরা StackPane ব্যবহার করেছি, যা একটি সিম্পল লেআউট কনটেইনার।
  4. Label: এটি একটি UI উপাদান যা টেক্সট দেখানোর জন্য ব্যবহৃত হয়।
  5. launch() মেথড: JavaFX অ্যাপ্লিকেশন শুরু করতে launch() মেথডটি ব্যবহার করা হয়, যা Application ক্লাসের start() মেথডকে কল করবে।

JavaFX দিয়ে GUI তৈরি করার পদ্ধতি:

  1. JavaFX লাইব্রেরি অন্তর্ভুক্ত করা: JavaFX লাইব্রেরি যদি আপনার জাভা সংস্করণে অন্তর্ভুক্ত না থাকে, তাহলে আপনাকে JavaFX SDK ডাউনলোড এবং সেটআপ করতে হবে।
  2. Scene Builder ব্যবহার: GUI ডিজাইন করার জন্য আপনি JavaFX Scene Builder ব্যবহার করতে পারেন, যা ড্র্যাগ এবং ড্রপ ইন্টারফেসের মাধ্যমে ডিজাইন করা যায়।
  3. UI উপাদানগুলি: JavaFX এর মধ্যে অনেক ধরনের UI উপাদান রয়েছে যেমন Button, TextField, TextArea, ComboBox, এবং আরও অনেক কিছু।

JavaFX টুলস এবং লাইব্রেরি

  1. JavaFX SDK: JavaFX এর জন্য মূল লাইব্রেরি এবং টুলস।
  2. Scene Builder: গ্রাফিকাল ইউজার ইন্টারফেস ডিজাইন করার জন্য একটি GUI টুল।
  3. FXML: JavaFX অ্যাপ্লিকেশনগুলির জন্য XML ভিত্তিক একটি মার্কআপ ভাষা, যা UI উপাদানগুলি ডিজাইন করার জন্য ব্যবহৃত হয়।

JavaFX এর কিছু উদাহরণ:

  1. Button Click Example: একটি বোতাম ক্লিক করলে একটি বার্তা দেখানোর প্রোগ্রাম।
  2. Form Example: একটি ফর্ম তৈরি করা যেখানে ইউজার নাম এবং পাসওয়ার্ড ইনপুট দিতে পারে।

এই উদাহরণটি JavaFX দিয়ে একটি সিম্পল GUI অ্যাপ্লিকেশন তৈরি করার প্রাথমিক ধারণা দেয়, এবং আপনি আরও জটিল অ্যাপ্লিকেশন তৈরি করতে JavaFX এর বিভিন্ন ফিচার ব্যবহার করতে পারেন।

Content added By

Button এবং Event Handling Example: GUI তে Button ক্লিক ইভেন্ট পরিচালনা

150
150

এখানে একটি Button এবং Event Handling Example দেওয়া হল যা Java GUI (Graphical User Interface) তে একটি বোতাম ক্লিক ইভেন্ট পরিচালনা করে। আমরা JButton ব্যবহার করব এবং ক্লিক ইভেন্ট হ্যান্ডল করার জন্য ActionListener ইন্টারফেস ব্যবহার করব।

Java Swing GUI Example (Button and Event Handling)

import javax.swing.*;
import java.awt.event.*;

public class ButtonEventHandlingExample {
    public static void main(String[] args) {
        // JFrame তৈরি করা
        JFrame frame = new JFrame("Button Event Handling Example");
        
        // JButton তৈরি করা
        JButton button = new JButton("Click Me!");
        
        // JButton এর জন্য ActionListener যোগ করা
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // বোতাম ক্লিক হলে এই অংশের কোডটি চালু হবে
                JOptionPane.showMessageDialog(frame, "Button Clicked!");
            }
        });
        
        // JFrame সেটআপ করা
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setLayout(null);
        
        // বোতামটিকে JFrame-এ যুক্ত করা
        button.setBounds(100, 70, 100, 40);
        frame.add(button);
        
        // JFrame দৃশ্যমান করা
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  1. JFrame তৈরি করা:
    • JFrame হল মূল উইন্ডো যেখানে আমরা অন্যান্য উপাদান (জাভা GUI উইজেট) রাখতে পারি, যেমন বোতাম, টেক্সট ফিল্ড ইত্যাদি।
  2. JButton তৈরি করা:
    • JButton একটি বোতাম যা ইউজার ক্লিক করতে পারে। এখানে "Click Me!" টেক্সট সহ একটি বোতাম তৈরি করা হয়েছে।
  3. ActionListener যোগ করা:
    • ActionListener ইন্টারফেস ব্যবহৃত হয় বোতাম ক্লিক ইভেন্ট হ্যান্ডল করার জন্য।
    • actionPerformed মেথডে আমরা সেই কোড লিখি যা বোতাম ক্লিক হওয়ার পর চালু হবে। এখানে একটি JOptionPane.showMessageDialog ব্যবহার করা হয়েছে একটি মেসেজ প্রদর্শন করার জন্য।
  4. ফ্রেমের সেটিংস:
    • frame.setSize(300, 200) ফ্রেমের আকার সেট করছে।
    • frame.setLayout(null) ফ্রেমে কোনো লেআউট ম্যানেজার ব্যবহার না করে, আমরা কাস্টম পজিশন সেট করতে পারি।
    • button.setBounds(100, 70, 100, 40) বোতামের অবস্থান এবং আকার নির্ধারণ করে। এটি বোতামকে ফ্রেমের মধ্যে 100 পিক্সেল বাম থেকে এবং 70 পিক্সেল উপরে রাখবে, এবং বোতামের আকার হবে 100x40 পিক্সেল।
  5. Frame Visible করা:
    • frame.setVisible(true) ফ্রেমটি প্রদর্শন করার জন্য ব্যবহার করা হয়।

ফলাফল:

এই কোডটি চালানোর পর, একটি ছোট উইন্ডো (JFrame) খোলা হবে যেখানে একটি বোতাম থাকবে। যখন আপনি বোতামটি ক্লিক করবেন, তখন একটি মেসেজ ডায়ালগ ("Button Clicked!") দেখাবে।

Java Swing:

  • Swing হল Java-এর একটি GUI টুলকিট, যা গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) তৈরি করার জন্য ব্যবহৃত হয়।
  • এখানে JFrame এবং JButton ক্লাস ব্যবহার করা হয়েছে, যা Swing লাইব্রেরির অংশ।

এই উদাহরণটি সহজ এবং কার্যকরী উপায়ে Java Swing-এর মৌলিক ব্যবহার এবং ইভেন্ট হ্যান্ডলিং প্রদর্শন করেছে।

Content added By

Menu এবং MenuBar Example: GUI তে Menu তৈরি এবং Event Handling

150
150

Java Swing ব্যবহার করে GUI অ্যাপ্লিকেশন তৈরি করার সময় আপনি Menu এবং MenuBar তৈরি করতে পারেন। এর মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনে ব্যবহারকারীকে বিভিন্ন অপশন প্রদান করতে পারেন, যেমন ফাইল মেনু, এডিট মেনু, ইত্যাদি। এই উদাহরণে আমরা দেখব কিভাবে একটি Menu এবং MenuBar তৈরি করতে হয় এবং এর সাথে Event Handling কিভাবে করতে হয়।

Menu এবং MenuBar Example

এখানে একটি উদাহরণ দেওয়া হলো যেখানে একটি GUI উইন্ডোতে একটি মেনু তৈরি করা হয়েছে, এবং এর মধ্যে কিছু অপশন রয়েছে যেমন "Open", "Save", এবং "Exit"। এছাড়া, প্রতি অপশনের সাথে ইভেন্ট হ্যান্ডলিং যুক্ত করা হয়েছে।

1. Java Swing Menu এবং MenuBar উদাহরণ:

import javax.swing.*;
import java.awt.event.*;

public class MenuExample {

    public static void main(String[] args) {
        // JFrame তৈরি
        JFrame frame = new JFrame("Menu Example");

        // MenuBar তৈরি
        JMenuBar menuBar = new JMenuBar();

        // File Menu তৈরি
        JMenu fileMenu = new JMenu("File");

        // Menu Items তৈরি
        JMenuItem openItem = new JMenuItem("Open");
        JMenuItem saveItem = new JMenuItem("Save");
        JMenuItem exitItem = new JMenuItem("Exit");

        // Menu Items-এর জন্য Event Handling (ActionListener)
        openItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(frame, "Open option selected");
            }
        });

        saveItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(frame, "Save option selected");
            }
        });

        exitItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);  // অ্যাপ্লিকেশন বন্ধ করা
            }
        });

        // Menu Items ফাইল মেনুর সাথে যুক্ত করা
        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.addSeparator();  // Separator যোগ করা
        fileMenu.add(exitItem);

        // MenuBar-এ File Menu যোগ করা
        menuBar.add(fileMenu);

        // JFrame-এ MenuBar সেট করা
        frame.setJMenuBar(menuBar);

        // JFrame প্রপার্টি সেট করা
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

ব্যাখ্যা:

  1. JFrame: এটি মূল উইন্ডো তৈরি করে, যেখানে আপনি মেনু বারটি যোগ করবেন।
  2. JMenuBar: এটি একটি মেনু বার তৈরি করে, যার মাধ্যমে আপনি বিভিন্ন মেনু তৈরি করতে পারবেন।
  3. JMenu: এটি একটি নির্দিষ্ট মেনু তৈরি করে (যেমন "File")।
  4. JMenuItem: মেনু আইটেম তৈরি করে, যেমন "Open", "Save", এবং "Exit"।
  5. ActionListener: এটি ইভেন্ট হ্যান্ডলিংয়ের জন্য ব্যবহৃত হয়। যখন কোনো মেনু আইটেম সিলেক্ট করা হবে, তখন নির্দিষ্ট কোড রান করবে (যেমন, "Open" ক্লিক করলে একটি ডায়লগ বক্স দেখাবে)।
  6. Separator: এটি মেনু আইটেমের মধ্যে একটি আলাদা লাইন যোগ করে, যা ভিজ্যুয়ালি আইটেমগুলিকে আলাদা করে।

অপশন:

  • Open: এই অপশনটি সিলেক্ট করলে একটি সিম্পল JOptionPane বার্তা দেখানো হয়।
  • Save: একইভাবে, এটি একটি বার্তা দেখাবে যে "Save" অপশনটি সিলেক্ট করা হয়েছে।
  • Exit: অ্যাপ্লিকেশন বন্ধ করার জন্য এটি System.exit(0) কল করবে।

Java Swing এর মূল উপাদানগুলো:

  • JFrame: GUI উইন্ডোর মূল কন্টেইনার।
  • JMenuBar: মেনু বার, যা একাধিক মেনু ধারণ করে।
  • JMenu: একটি নির্দিষ্ট মেনু (যেমন ফাইল, এডিট ইত্যাদি)।
  • JMenuItem: মেনু আইটেম (যেমন "Open", "Save" ইত্যাদি)।
  • ActionListener: ব্যবহারকারীর ক্লিকের ওপর কার্যক্রম পরিচালনা করতে ব্যবহৃত ইভেন্ট হ্যান্ডলার।

এটি একটি মৌলিক উদাহরণ যা Java Swing ব্যবহার করে একটি মেনু এবং মেনুবার তৈরি করার প্রক্রিয়া দেখায়। আপনি এতে আরো মেনু, সাব-মেনু, এবং আরো ইভেন্ট হ্যান্ডলিং যোগ করতে পারবেন আপনার অ্যাপ্লিকেশন অনুযায়ী।

Content added By

Layout Management Example: BorderPane, HBox, VBox এর ব্যবহার

181
181

Layout Management Example in Java: BorderPane, HBox, VBox

JavaFX provides several layout managers that help in organizing UI components in a structured manner. Among them, BorderPane, HBox, and VBox are some of the most commonly used layout managers. Below are examples demonstrating how to use each of these layout managers.

১. BorderPane Layout Example

BorderPane is a layout manager that divides the screen into five regions: top, bottom, left, right, and center. You can place different components (controls) in these regions.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class BorderPaneExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        // Create a BorderPane layout
        BorderPane borderPane = new BorderPane();

        // Create buttons for each region
        Button topButton = new Button("Top");
        Button bottomButton = new Button("Bottom");
        Button leftButton = new Button("Left");
        Button rightButton = new Button("Right");
        Button centerButton = new Button("Center");

        // Add buttons to their respective positions in the BorderPane
        borderPane.setTop(topButton);
        borderPane.setBottom(bottomButton);
        borderPane.setLeft(leftButton);
        borderPane.setRight(rightButton);
        borderPane.setCenter(centerButton);

        // Create a Scene and add the BorderPane layout
        Scene scene = new Scene(borderPane, 400, 300);

        // Set the stage with the scene and display it
        primaryStage.setTitle("BorderPane Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

২. HBox Layout Example

HBox arranges the UI components horizontally. It places children next to each other, from left to right, by default.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class HBoxExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        // Create an HBox layout
        HBox hBox = new HBox(10); // 10 is the spacing between the buttons

        // Create buttons
        Button button1 = new Button("Button 1");
        Button button2 = new Button("Button 2");
        Button button3 = new Button("Button 3");

        // Add buttons to the HBox
        hBox.getChildren().addAll(button1, button2, button3);

        // Create a Scene and add the HBox layout
        Scene scene = new Scene(hBox, 300, 100);

        // Set the stage with the scene and display it
        primaryStage.setTitle("HBox Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

৩. VBox Layout Example

VBox arranges the UI components vertically. The components are stacked on top of each other, from top to bottom.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class VBoxExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        // Create a VBox layout
        VBox vBox = new VBox(10); // 10 is the spacing between the buttons

        // Create buttons
        Button button1 = new Button("Button 1");
        Button button2 = new Button("Button 2");
        Button button3 = new Button("Button 3");

        // Add buttons to the VBox
        vBox.getChildren().addAll(button1, button2, button3);

        // Create a Scene and add the VBox layout
        Scene scene = new Scene(vBox, 200, 150);

        // Set the stage with the scene and display it
        primaryStage.setTitle("VBox Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

৪. Combining BorderPane, HBox, and VBox

You can combine BorderPane, HBox, and VBox to create more complex layouts. For example, placing a VBox inside the Center region of a BorderPane and an HBox in the Bottom region.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class CombinedLayoutExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        // Create BorderPane layout
        BorderPane borderPane = new BorderPane();

        // Create a VBox for the center region
        VBox vBox = new VBox(10);
        Button vboxButton1 = new Button("VBox Button 1");
        Button vboxButton2 = new Button("VBox Button 2");
        vBox.getChildren().addAll(vboxButton1, vboxButton2);

        // Create an HBox for the bottom region
        HBox hBox = new HBox(10);
        Button hboxButton1 = new Button("HBox Button 1");
        Button hboxButton2 = new Button("HBox Button 2");
        hBox.getChildren().addAll(hboxButton1, hboxButton2);

        // Set VBox in the center region of BorderPane
        borderPane.setCenter(vBox);

        // Set HBox in the bottom region of BorderPane
        borderPane.setBottom(hBox);

        // Create a Scene and add the BorderPane layout
        Scene scene = new Scene(borderPane, 400, 300);

        // Set the stage with the scene and display it
        primaryStage.setTitle("Combined Layout Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

ব্যাখ্যা:

  1. BorderPane: এই লেআউটটি পাঁচটি অঞ্চলে বিভক্ত: Top, Bottom, Left, Right, এবং Center। আপনি বিভিন্ন উপাদানকে এই অঞ্চলে রাখতে পারেন।
  2. HBox: HBox উপাদানগুলোকে অনুভূমিকভাবে সাজায়। উপাদানগুলি একে অপরের পাশে দেখা যায়, এবং আপনি স্পেসিং নিয়ন্ত্রণ করতে পারেন।
  3. VBox: VBox উপাদানগুলোকে উল্লম্বভাবে সাজায়, অর্থাৎ উপাদানগুলি একে অপরের উপরে থাকে। এখানে আপনি উপাদানগুলির মধ্যে স্পেসিংও নিয়ন্ত্রণ করতে পারেন।

এই উদাহরণগুলো JavaFX লেআউট ব্যবস্থাপনা এবং কিভাবে বিভিন্ন লেআউট ব্যবহার করা যায় তা বুঝতে সাহায্য করবে।

Content added By

TableView Example: Java FX এর মাধ্যমে Table তৈরি এবং ডেটা প্রদর্শন

154
154

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);
    }
}

ব্যাখ্যা:

  1. Employee ক্লাস: এই ক্লাসটি কর্মচারীদের তথ্য ধারণ করবে। এটি SimpleStringProperty এবং SimpleIntegerProperty ব্যবহার করে জাভাFX এর প্রপার্টি মডেলকে সাপোর্ট করে, যাতে টেবিলের ডেটা টেবিল ভিউতে পরিবর্তন করা যায়।
  2. TableView: টেবিল তৈরি করতে TableView ব্যবহার করা হয়। এর মধ্যে বিভিন্ন কলাম (যেমন নাম, বয়স, এবং বিভাগ) যুক্ত করা হয়েছে।
  3. TableColumn: TableColumn ব্যবহার করে প্রতিটি কলামের জন্য সেল ভ্যালু ফ্যাক্টরি সেট করা হয় যা নির্ধারণ করে কোন প্রপার্টি টেবিলের ওই কলামে প্রদর্শিত হবে।
  4. ObservableList: ObservableList হল ডেটার একটি সংগ্রহ যা টেবিলের ডেটা রাখে এবং যখন ডেটা পরিবর্তিত হয় তখন টেবিল স্বয়ংক্রিয়ভাবে আপডেট হয়।
  5. 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 ইত্যাদি।

এটি আরও ইউজার ইন্টারফেস তৈরি করতে ব্যবহৃত হয়, যেমন গ্রাফিক্স, এনিমেশন, ডাটা ভিজুয়ালাইজেশন ইত্যাদি।

Content added By
Promotion