选择不变时,JavaFX ComboBox可以触发事件吗?

时间:2018-10-10 04:28:14

标签: javafx combobox

我是JavaFX的新手。与Swing不同,JavaFX的组合框的action事件似乎在选择实际上发生更改时被触发。在Swing中,您可以在JComboBox上添加一个ActionListener,并且无论何时进行选择(通过单击组合框中的选项之一),它都会触发一个事件,而不管所选值是否实际更改。我们可以在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 selected action listener。这几乎给了我我想要的东西,除了在选择取消(按Esc)时也会触发。还有其他解决方案吗?预先感谢。

0 个答案:

没有答案