Я новичок в JavaFX.В отличие от Swing, событие action в комбинированном окне JavaFX, по-видимому, вызывается, когда выбор фактически изменился.В Swing вы можете добавить ActionListener в JComboBox, и он будет запускать событие всякий раз, когда вы делаете выбор (щелкнув по одному из вариантов в поле со списком), независимо от того, изменилось ли выбранное значение на самом деле.Можем ли мы достичь того же поведения в JavaFX?Некоторый код ниже.Я хочу выбрать «Hello» и распечатать его, затем снова выбрать «Hello» и снова распечатать.
public class ComboBoxSelection extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
VBox layout = new VBox();
ComboBox<String> comboBox = new ComboBox<>();
comboBox.getItems().addAll("Hello", "World");
comboBox.setOnAction(event -> System.out.println("Selected " + comboBox.getValue()));
layout.getChildren().addAll(comboBox);
Scene scene = new Scene(layout);
primaryStage.setScene(scene);
primaryStage.show();
}
}
Я заметил поток здесь: ComboBox SAME item выбранный слушатель действия.Это почти дает мне то, что я хочу, за исключением того, что срабатывает, когда выбор отменяется (нажмите Esc).Есть ли другое решение?Заранее спасибо.