Добавить содержимое массива в поле со списком - PullRequest
1 голос
/ 17 января 2011

У меня есть массив (в другом классе) с 10 значениями в. Я хочу добавить значения этого массива в поле со списком. Это возможно? Спасибо

Ответы [ 3 ]

1 голос
/ 17 января 2011

Да. В общем, вы можете сделать:

JComboBox b = new JComboBox(new String[]{"String1","String2"});

т.е. есть конструктор для инициализации через массивы.
Поэтому вам просто нужно переопределить toString() в объектах, содержащихся в массиве (если они не имеют тип String).

1 голос
/ 17 января 2011

Конечно:

Object[] yourArray = otherClass.getMyArray();
JComboBox box = new JComboBox (yourArray);

Это вызовет Object.toString(), чтобы получить значение, отображаемое в поле со списком, поэтому, если вы используете собственный класс, убедитесь, что он переопределяет метод toString().

РЕДАКТИРОВАТЬ:

Есть несколько способов сделать это в Netbeans.Вот один из способов.Где-нибудь в вашей форме есть такой метод:

private ComboBoxModel getComboModel (OtherClass myOtherClass)
{
  return new DefaultComboBoxModel (myOtherClass.getMyArray());
}

А затем в конструкторе форм:

  1. нажмите на поле со списком
  2. отредактируйте модельсобственность в редакторе свойств
  3. выберите значение из существующего компонента в выпадающем списке
  4. выберите переключатель вызов метода и выберите getComboModel()

Есть много других способов сделать это, но это будет работать для простого случая, подобного вашему.В общем, если вы хотите сделать его дружественным к Netbeans, вам нужно где-то предоставить метод, который возвращает экземпляр ComboBoxModel и указывает на него Netbeans.

0 голосов
/ 25 апреля 2018

Попробуйте этот метод:

private void combofill(){
       cbxplaces.removeAllItems();
       String[] place= {"Cont", "Cancel","TEST"};  
        DefaultComboBoxModel mod = new DefaultComboBoxModel(place);
           cbxplaces.setModel(mod);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...