2016-06-28 7 views
0

Я создал JCombobox, используя перетаскивание Netbeans.Добавление объекта arraylist в combobox

У меня есть ArrayList<Person>.

Как автоматически добавить FirstName из Person в поле со списком.

Код, созданный Netbeans, не может быть отредактирован в виде источника.

+0

Просто используйте слушатель окна. В открывшемся окне «Окно» заполните поле со списком с каждым Person.FirstName. – Adam

+0

, но арраист заполняется после того, как окно открыто –

ответ

0
public class PersonBox{ 
     List<Person> person= new ArrayList<Person>(); 
     JCombobox box; //=new JCombobox(...) ? 

     //used to add a new Person to the box 
     public void addPerson(Person person){ 
      person.add(person); 
      /* 
      *gets the lass element in the list and adds the first 
      *name of this specific element into the box 
      */ 
      box.addItem(person.get(person.size()-1).getFirstName()); 
     } 
    } 

    public class Person{ 
     String firstName,sureName; 

     public Person(String firstName, String sureName){ 
      this.firstName = firstName; 
      this.sureName = sureName; 
     } 

     public String getFirstName(){ 
      return this.firstName; 
     } 

     public String getSureName(){ 
      return this.sureName; 
     } 
    } 
1

Шаг 1: Допустим, у вас есть следующий класс Person.

Person.java

public class Person { 

    private int id; 

    private String firstName; 

    private String lastName; 

    public Person() {  
    } 

    public Person(int id, String firstName, String lastName) {  
     this.id = id; 
     this.firstName = firstName; 
     this.lastName = lastName;  
    } 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public String getFirstName() { 
     return firstName; 
    } 

    public void setFirstName(String firstName) { 
     this.firstName = firstName; 
    } 

    public String getLastName() { 
     return lastName; 
    } 

    public void setLastName(String lastName) { 
     this.lastName = lastName; 
    } 

    @Override 
    public String toString() { 
     return firstName; 
    } 

} 

Шаг 2: Создание экземпляра JComboBox и установить модель.

java.util.List<Person> list=new java.util.ArrayList<Person>(); 

list.add(new Person(1, "Sanjeev", "Saha")); 
list.add(new Person(2, "Ben", "Yap")); 

JComboBox<Person> comboBox = new JComboBox<Person>(); 
comboBox.setModel(new DefaultComboBoxModel<Person>(list.toArray(new Person[0]))); 

Шаг 3: Запустите свою программу.

enter image description here

Смежные вопросы