Sponsorizzato

জাভা গ্রাফ্রিক্যাল ইন্টারফেস - JavaFX ChoiceBox

0
3

ChoiceBox দিয়ে একের অধিক আইটেম থেকে যে কোন একটা আইটেম সিলেক্ট করা যায়। এই উদাহরণে IDE হিসেবে IntelliJ IDEA ব্যবহার করা হয়েছে। IntelliJ তে একটা JavaFX প্রজেক্ট তৈরি করে নিব। এরপর সীন বিল্ডার এ একটা ChoiceBox যুক্ত করব, এরপর একটা আইডি দিব। বা নিচের কোড গুলো ব্যবহার করলেও হবেঃ

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.collections.FXCollections?>
<?import javafx.scene.control.ChoiceBox?>
<?import javafx.scene.layout.GridPane?>
<?import java.lang.String?>
<GridPane alignment="center" hgap="10" vgap="10" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
   <ChoiceBox fx:id="choicebox" value="Value 3">
      <items>
         <FXCollections fx:factory="observableArrayList">
            <String fx:value="Value 1" />
            <String fx:value="Value 2" />
            <String fx:value="Value 3" />
         </FXCollections>
      </items>
   </ChoiceBox>
</GridPane>

ChoiceBox তৈরির পাশাপাশি কয়েকটা ভ্যালু সেট করে দিয়েছি। এবং ডিফল্ট একটা ভ্যালুও সেট করে দিয়েছি। এখন ChoiceBox এ যদি কোন চেঞ্জ হয়, তা আমরা দেখতে পারি এভাবেঃ

choiceBox.valueProperty().addListener(new ChangeListener<String>() {
            @Override
            public void changed(ObservableValue observableValue, String oldValue, String newValue) {
                
            }
        });

কোন ভ্যালু চেঞ্জ হলে আমরা যে যে কোন কাজ করতে পারি। সম্পুর্ণ Java ফাইলঃ

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
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("ChoiceBox demo");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();


        ChoiceBox choiceBox = (ChoiceBox) root.lookup("#choicebox");


        choiceBox.valueProperty().addListener(new ChangeListener<String>() {
            @Override
            public void changed(ObservableValue observableValue, String oldValue, String newValue) {
                System.out.println(observableValue);
                System.out.println(oldValue);
                System.out.println(newValue);
            }
        });

    }


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

আমরা যদি সিলেক্টেড আইটেমের ভ্যালু নিতে চাই, তা নিতে পারি এভাবেঃ

choiceBox.getSelectionModel().getSelectedItem()

আবার কোন ইনডেক্স টি সিলেক্টেড আছে, তা পেতে পারি এভাবেঃ

choiceBox.getSelectionModel().getSelectedIndex()

আমরা চাইলে ডিফল্ট ভাবে কোন ভ্যালু সেট না করে জাভা থেকে ভ্যালু গুলো সেট করতে পারি। তার জন্য fxml এ শুধু মাত্র ChoiceBox মার্কয়াপ যুক্ত করব এবং একটা আইডি দিবঃ

 <ChoiceBox fx:id="choicebox" prefWidth="150.0" />

এরপর ChoiceBox টা একটা ভ্যারিয়েবলে সেট করব। এবং এরপর আমরা যে জাভা থেকে ভ্যালু সেট সহ সব কিছু করতে পারবঃ

        ChoiceBox choiceBox = (ChoiceBox) root.lookup("#choicebox");

        choiceBox.getItems().addAll("Value 1", "Value 2", "Value 3");
        choiceBox.getSelectionModel().select("Value 1");
Cerca
Categorie
Leggi tutto
Job
বোয়িংয়ের কাছ থেকে বাংলাদেশের উড়োজাহাজ কেনা নিয়ে ট্রাম্পের পোস্ট, কী লিখেছেন
Login
By Nettumi 2026-09-25 09:14:11 0 38
Nulled
Pawzen - Pets Food & Animals Store Shopify OS 2.0 Theme
Pawzen – Pets Food & Animals Store Shopify OS 2.0 Theme Free Download. Pawzen is a...
By Nettumi 2026-09-17 17:43:59 0 137
Tech
Image Picker – যেকোনো ওয়েবপেইজ থেকে এক ক্লিকেই ছবি ডাউনলোড করুন | Techtunes | টেকটিউনস
‘নারী’ মানে প্রথম যে কথাটি আসে, তা হলো ‘মা’। Rubel Oron
By Nettumi 2026-09-25 04:02:24 0 9
Tech
বই রিভিউ - Rich Dad Poor Dad
আগের রাতে আমি গুগলে সার্চ দিয়েছিলাম Book for Entrepreneurship। অনেক গুলো বই ছিল। প্রথম পেইজে থাকা...
By Nettumi 2026-09-30 18:41:46 0 2
Tech
ল্যাপটপ নাকি ডেস্কটপ? আপনার জন্য কোনোটি উপযুক্ত? জেনে নিন এখনই! | Techtunes | টেকটিউনস
এনজাইম, হরমোন ও ভবিষ্যৎ চিকিৎসা জাকির হোসাইন
By Nettumi 2026-09-25 03:58:15 0 24
‎ ‎ ‎
Nettumi https://nettumi.com