사용자 입력에 따라 자동 채우기 ComboBox
을 만들어야합니다.JavaFX 자동 완성 콤보 상자 드롭 다운 크기
내 코드는 다음과 같이 진행됩니다
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 옵션이 표시됩니다) 콤보 상자에
- 유형의 경비는 모든 문자를 삭제 부탁해. (백 스페이스로) 이제 인구 목록 스크롤 막대가 하나 개의 항목 크기로 수축.
- 전체 크기 목록을 보려면 콤보 상자 드롭 다운을 다시 클릭하십시오.
콘텐츠에 따라 목록 크기를 만들 수 있습니까?
@Reimeus 어떻게 내가 사용할 수 있습니다 이 시나리오에서는 sizeToScene() 메서드를 사용합니다. – user3164187