JavaFX

ComboBox mit Mehrfach-Auswahl

Der folgende Code erzeugt eine ComboBox mit Mehrfach-Auswahl:


package com.sowas.javawiki.javafx;
 
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.ListView;
import javafx.scene.control.MenuButton;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import java.util.Arrays;
import java.util.List;
 
public class MultiSelectionComboDemo extends Application {
   final ListView<String> selectedItems = new ListView<>();
 
   @Override
   public void start(Stage primaryStage) {
      final MenuButton choices = new MenuButton("Obst");
      final List<CheckMenuItem> items = Arrays.asList(
                new CheckMenuItem("Apfel"),
                new CheckMenuItem("Banane"),
                new CheckMenuItem("Birne"),
                new CheckMenuItem("Kiwi")
      );
      choices.getItems().addAll(items);
 
      for (final CheckMenuItem item : items) {
         item.selectedProperty().addListener((observableValue, oldValue, newValue) -> {
            if (newValue) {
               selectedItems.getItems().add(item.getText());
            } else {
               selectedItems.getItems().remove(item.getText());
            }
         });
      }
 
      BorderPane borderPane = new BorderPane();
      borderPane.setTop(choices);
      borderPane.setCenter(selectedItems);
      primaryStage.setScene(new Scene(borderPane, 400, 300));
      primaryStage.show();
   }
 
   public static void main(String[] args) {
      launch(args);
   }
}




Stichworte:

JavaFX, ComboBox mit Mehrfach-Auswahl, Multiselection, Beispiel

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007