Ich muss eine automatische Füllung ComboBox
basierend auf Benutzereingaben erstellen.JavaFX Autocomplete ComboBox Drop-Down-Größe
Mein Code sieht wie folgt aus:
public class JavaFXApplication1 extends Application {
@Override
public void start(Stage primaryStage) {
ComboBox<String> combo = new ComboBox<>();
ObservableList<String> list = FXCollections.observableArrayList();
list.add("A");
list.add("AND");
list.add("ANDR");
list.add("ANDRE");
list.add("B");
list.add("BP");
list.add("BPO");
combo.setItems(list);
new AutoCompleteComboBoxListener(combo);
StackPane root = new StackPane();
root.getChildren().add(combo);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
die AutoCompleteComboBoxListener
von diesem answer genommen wird.
Mit dieser Autocomplete funktioniert gut. Ich sah ein Problem in Listengröße,
Führen Sie die Anwendung und klicken Sie auf die ComboBox
Drop-Down, um Popup-Größe zu sehen.
- Typ ANDRE im Kombinationsfeld (die in Popup-ANDRE Option zeigen) .Jetzt alle Zeichen löschen. (Von Backspace)
- Nun ist die bevölkerungs Liste schrumpfte auf einen Eintrag Größe mit Bildlaufleiste.
- Klicken Sie erneut auf das Dropdown-Listenfeld, um die vollständige Liste zu erhalten.
Wie kann ich die Listengröße nach Inhalt machen?
@Reimeus wie kann ich das verwenden sizeToScene() -Methode in diesem Szenario. – user3164187