ComboBox и Условие

У меня есть вот такой вот ComboBoxвведите сюда описание изображения

Я хочу прогнать его через условие вот таким вот образом

HowMuch.setOnAction(actionEvent -> {
        String prove = String.valueOf(Box1.getValue());
        String prove1 = String.valueOf(Box2.getValue());
        String prove2 = Money.getText();

        if(!prove.isEmpty() || !prove1.isEmpty() || prove2.isEmpty()){
            FXMLLoader loader = new FXMLLoader();
            loader.setLocation(getClass().getResource("/sample/Error4.fxml"));
            try {
                loader.load();
            } catch (IOException e) {
                e.printStackTrace();
            }
            Parent first = loader.getRoot();
            Stage stage = new Stage();
            stage.setScene(new Scene(first));
            stage.showAndWait();
        }else{
            check(prove);
            check2(prove1);
        }

Дело в том что данные полученные полем proove из ComboBox он всегда считает пустыми не в зависимости от того что я выберу в боксе или что я не выберу то бишь всегда выдает (true) и условие не работает. Что я могу сделать что бы он понимал что я что то выбрал или ничего не выбирал. Заранее благодарен


Ответы (1 шт):

Автор решения: insolor

Метод .getValue() возвращает выбранный объект (строку в данном случае) или null (если ничего не выбрано), дополнительно в строку через String.valueOf() преобразовывать не нужно, причем у вас должно бросать исключение, когда в комбо ничего не выбрано (.getValue() вернул null).

Нужно убрать эту конвертацию, и для проверки на "пустоту" проверять значения на null:

String prove = Box1.getValue();
String prove1 = Box2.getValue();
String prove2 = Money.getText();

if(prove == null || prove1 == null || prove2.isEmpty()) {
    // ...
}
→ Ссылка