我必須根據用戶輸入創建自動填充ComboBox
。JavaFX自動完成ComboBox下拉大小
我的代碼是這樣的:
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);
}
}
的AutoCompleteComboBoxListener
從該answer拍攝。
這個自動完成工作正常。我遇到列表大小問題,
運行該應用程序,然後單擊ComboBox
下拉列表以查看彈出窗口大小。
- 在組合框中(這將顯示在彈出的選項ANDRE)類型ANDRE。現在刪除所有字符。(按退格鍵)
- 現在填充的列表收縮到只有一個項目的大小與滾動條。
- 再次單擊組合框下拉列表以獲得完整大小的列表。
如何根據內容製作列表大小?
@Reimeus我如何使用sizeScene()方法。 – user3164187