Commandité

জাভা গ্রাফ্রিক্যাল ইন্টারফেস - 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");
Rechercher
Catégories
Lire la suite
Hacking Course
মটোরোলা জি৭৩ ৫জি এলো মধ্যম দামে প্রিমিয়াম সুবিধা নিয়ে
গ্লোবাল মার্কেটে বেশ কয়েকটি নতুন ফোন নিয়ে এসেছে মটোরোলা। এই নতুন ফোনের তালিকায় রয়েছে জি৭৩...
Par Nettumi 2026-09-25 09:53:41 0 40
Emploi
বাংলাদেশ ক্ষুদ্র ও কুটির শিল্প কর্পোরেশন নিয়োগ বিজ্ঞপ্তি ২০২৬ BSCIC Job Circular 2026
4/5 - (25 votes)☰ মোট পদের ক্যাটাগরি০১👥 মোট শূন্যপদ০১ জন আবেদনের শেষ দিন ৭ জুন ২০২৬ ইং ❌ সময়...
Par Nettumi 2026-09-24 18:43:26 0 14
Nulled
Four takeaways from day one of the UN General Assembly summit
Par Nettumi 2026-09-23 17:27:58 0 39
Nulled
Apollo v1.0 - Sticky Full Width HTML5 Audio Player - Elementor Widget Addon Free
Free Download Apollo v1.0 – Sticky Full Width HTML5 Audio Player – Elementor Widget...
Par Nettumi 2026-09-18 04:05:14 0 67
Tech
চীনের Uber খ্যাত DiDi এর সেই নারী! যে শেষ পর্যন্ত Uber কেই কিনে নেয় | Techtunes | টেকটিউনস
মহাকাশের ক্ষুদে তারকাদের আবার একটু স্বরণ করে নিই দুঃসাহসী টিনটিন
Par Nettumi 2026-09-25 03:58:57 0 31
‎ ‎ ‎
Nettumi https://nettumi.com