Метод setOnAction ((<no type> action) -> {}) не определен для типа ChoiceBox <String> - PullRequest
0 голосов
/ 06 июня 2019

всякий раз, когда я пытался запустить приложение Javafx, я получаю следующую ошибку: «Метод setOnAction ((action) -> {}) не определен для типа ChoiceBox»

Я думал, что это может быть из-заимпорт отсутствует в моем коде, затем попытался использовать следующие импорта:

import javafx.scene.control. *;

import javafx.scene.control.ChoiceBox;

Java-версия в моем терминале приводит:

Java-версия "1.8.0_25"

Java (TM) SE Runtime Environment (сборка 1.8.0_25-b17)

Java HotSpot(TM) 64-разрядная серверная виртуальная машина (сборка 25.25-b02, смешанный режим)

Я не уверен, чего именно не хватает в импорте, что не позволяет запустить пользовательский интерфейс.пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 06 июня 2019

Choicebox onAction () был представлен в JDK 8u60. Поскольку у вас 8u25, он не может получить доступ к этому методу. Если вы не можете обновить свою версию Java, я предлагаю вам использовать ChangeListener для прослушивания изменений, сделанных на вашем Choicebox, например,

     choiceBox.getItems().addAll("1","2","3","4");
     choiceBox.setValue("3");

     choiceBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
            @Override
            public void changed(ObservableValue<? extends Number> observableValue, Number oldNumber, Number newNumber) {
               //if you want to get the new value changed
                System.out.println(choiceBox.getItems().get((Integer) newNumber));
              //or you can invoke a function to do something else when value is changed
            }
        });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...