JavaFX – বাটন, টেক্সট ফিল্ড ও লেবেল

JavaFX এ বাটন, টেক্সট ফিল্ড ও লেবেল নিয়ে কিভাবে কাজ করা যায় তা দেখব। জাভা গ্রাফিকাল ইউজার ইন্টারফেস – JavaFX লেখাটিতে কিভাবে একটি JavaFX প্রজেক্ট তৈরি করা যায়, তা সম্পর্কে বিস্তারিত আলোচনা করা হয়েছে।

আমরা ছোট্ট একটি ট্যাক্স ক্যালকুলেটর তৈরি করব। যা টেক্সট ফিল্ড থেকে একটা সংখা ইনপুট নিবে, এরপর বাটনে ক্লিক করলে ট্যাক্স ক্যালকুলেট করে লেবেলে ট্যাক্স দেখাবে। সীনবিল্ডারে আমরা একটি টেক্সটফিল্ড, একটি লেভেল এবং একটি বাটন যুক্ত করব। প্রতিটা আইটেমের একটি করে আইডি দিব।
টে

টেক্সট মুড থেকেও id সেট করা যাবে। fx:id =”your_id” দিয়ে।

সীন বিল্ডারে যে উইজেট গুলো যুক্ত করেছি, যেমন বাটন, টেক্সট ভিউ এবং লেবেল, যেগুলোর একটা রেফারেন্স তৈরি করতে হবে। তা তৈরি করতে হয় এভাবেঃ

TextField numberFiled;
Button btnCalculate;
Label lblResult;

numberFiled = (TextField) root.lookup("#number");
btnCalculate = (Button) root.lookup("#calculate");
lblResult = (Label) root.lookup("#result");

আমরা যে আইডি সেট করেছি, সে আইডি দিয়ে আমরা রেফারেন্স তৈরি করেছি। একটি প্রজেক্টে আইডির আগে # দিতে ভুলে যাওয়ার কারণে আমার অনেক সময় নষ্ট হয়েছে।

বাটনে ক্লিক লিচেনার যুক্ত করা হয় এভাবে। যখন বাটনে ক্লিক করা হবে, তখন এর ভেতরের কোড গুলো রান হবে।

        btnCalculate.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
 
            // do anything

            }
        });

টেক্সটফিল্ড থেকে ডেটা পড়া হয় এভাবেঃ

numberFiled.getText().toString()

কোন লেবেলে টেক্সট সেট করা হয় এভাবেঃ

lblResult.setText("Awesome!");

এরপর আমরা ট্যাক্স কত দিতে হবে, তা হিসেব করে রেজাল্ট লেবেলে সেট করে দিতে পারি। সম্পূর্ণ জাভা ফাইলঃ

import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.stage.Stage;


public class Main extends Application {

    TextField numberFiled;
    Button btnCalculate;
    Label lblResult;
    Double tax;


    @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();


        numberFiled = (TextField) root.lookup("#number");
        btnCalculate = (Button) root.lookup("#calculate");
        lblResult = (Label) root.lookup("#result");


        btnCalculate.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {

                Double amount = Double.parseDouble(numberFiled.getText().toString());
                tax = (amount * 0.05); // 5% tax

                lblResult.setText(tax.toString());


            }
        });


    }


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

কোড লিখে রান করলে আমরা এমন একটা অ্যাপলিকেশন পাবোঃ

এই বিষয় গুলো অনেক সহজ মনে হলেও এগুলো দিয়ে অনেক কমপ্লেক্স সফটওয়ার তৈরি করে ফেলা যাবে। এরপর ঐ সফটওয়ার চাইলে সবার সাথে শেয়ার ও করা যাবে। কিভাবে এক্সিকিউটেবল প্রোগ্রাম তৈরি করা যায়, তা সম্পর্কে বিস্তারিত জানা যাবে জাভা প্রোগ্রাম থেকে এক্সিকিউটেবল (exe) প্রোগ্রাম তৈরি করা লেখাটিতে।  এখন দরকার নিজের ক্রিয়েটিভিটি আর প্রচেষ্টা। JavaFX নিয়ে আরেকটি লেখাঃ

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

Leave a Reply