我必须根据用户输入创建自动填充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