Προωθημένο

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

0
6

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");
Αναζήτηση
Κατηγορίες
Διαβάζω περισσότερα
Nulled
৯৯০টি পদে স্থানীয় সরকার বিভাগ নিয়োগ বিজ্ঞপ্তি ২০২৫
1/5 - (1 vote)স্থানীয় সরকার বিভাগ (LGD) কর্তৃপক্ষ হতে স্থানীয় সরকার বিভাগ নিয়োগ বিজ্ঞপ্তি...
από Nettumi 2026-09-18 09:28:47 0 60
Tech
নতুন গুগল একাউন্ট কিভাবে খুলবেন? (মোবাইল ও কম্পিউটার – সম্পূর্ণ সহজ গাইড)
আজকাল অনলাইন কাজ, ইমেইল পাঠানো, ইউটিউব, গুগল ড্রাইভ, প্লে স্টোর বা ফ্রিল্যান্সিং—সবকিছুর...
από Nettumi 2026-09-28 07:37:25 0 1χλμ.
Tech
৩০ সেকেন্ডের রিলস কেড়ে নিচ্ছে ৫ ঘন্টার ঘুম | Techtunes | টেকটিউনস
!!বাঙ্গালী হইয়া জন্মাইছেন আবার নেটও নিছেন অথচ Paltalk ব্যবহার করেন নাই তা হইতে পারে না!! ফয়সল
από Nettumi 2026-09-25 03:49:01 0 26
Nulled
eSpeech v1.2.2 - Text to Speech Flutter Full App Source Code
eSpeech v1.2.2 – Text to Speech Flutter Full App Source Code Free Download. eSpeech...
από Nettumi 2026-09-18 03:41:09 0 34
Tech
Google Maps Timeline ফিচারের মাধ্যমে জানুন কোথায় কোথায় ভ্রমণ করেছেন | Techtunes | টেকটিউনস
মজিলার নির্বাচিত সাতটি বেস্ট ফায়ারফক্স 3 অ্যাডঅন দুঃসাহসী টিনটিন
από Nettumi 2026-09-25 03:51:00 0 27
‎ ‎ ‎
Nettumi https://nettumi.com