【发布时间】:2018-11-07 05:19:51
【问题描述】:
注意: 我正在扩展重复的问题here,因为它不包含 MCVE。我发现的其他几个类似问题也不包括有效答案。
在清除选择后,我无法找到让ComboBox 显示PromptText 的方法。
这是 MCVE:
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
final VBox root = new VBox(10);
root.setAlignment(Pos.TOP_CENTER);
root.setPadding(new Insets(10));
final ComboBox<String> cboSelection = new ComboBox<>();
final Button btnClear = new Button("Clear");
// Set ComboBox selections
final ObservableList<String> subjectsList = FXCollections.observableArrayList();
subjectsList.addAll("Software", "Math", "Physics");
// Setup the Subject selection
cboSelection.setPromptText("Select Subject");
cboSelection.setItems(subjectsList);
// Set action for "Clear" button
btnClear.setOnAction(e -> {
cboSelection.setValue(null);
});
root.getChildren().addAll(cboSelection, btnClear);
primaryStage.setTitle("ComboBox Demo");
primaryStage.setScene(new Scene(root, 200, 100));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
单击“清除”按钮会将选中的值设置为null,并清除选中的ComboBox,但提示文本不再显示。这似乎不是正常的预期行为。
我在按钮的onAction 中尝试了clearSelection() 和setPromptText(),但似乎无法恢复提示文本。
【问题讨论】: