Как использовать перечисления с плавающей точкой с Jcombobox в Java - PullRequest
1 голос
/ 01 мая 2019

У меня есть класс enum, который использует float для своих значений, например,

public enum Size {

    SMALL(10.50f),MEDIUM(12.35f),LARGE(15.90f);

    private float value;

    Size(float value){ 
        this.value = value;
    }
    public float getValue(){
        return this.value;
    }
}

Я хочу использовать это перечисление, чтобы «сгенерировать» список, который будет использоваться для Jcombobox, где пользователь выберет один изразмеры.

ddSize.setModel((Size.values()));

Я пытаюсь использовать код выше, однако я получаю следующую ошибку:

error: incompatible types: Size[] cannot be converted to ComboBoxModel<String>
        ddSize.setModel((Size.values()));

Мне нужен способ, чтобы я мог использоватьПеречисление с плавающей запятой без получения этой ошибки, если возможно.

1 Ответ

0 голосов
/ 01 мая 2019

setModel заняло ComboBoxModel<E>, поэтому вы можете использовать DefaultComboBoxModel для заполнения JComboBox следующим образом:

ddSize.setModel(new DefaultComboBoxModel(Size.values()));

, чтобы убедиться, что оно работает:

IntStream.range(0, ddSize.getItemCount())
        .forEach(index -> System.out.println(ddSize.getItemAt(index)));

Выходы

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