2016-06-28 18 views
0

Netbeansのドラッグアンドドロップを使用してJComboboxを作成しました。コンボボックスにarraylistオブジェクトを追加する

私にはArrayList<Person>があります。

どのようにPersonFirstNameを自動的にコンボボックスに追加しますか?

Netbeansによって生成されたコードは、ソースビューで編集できません。

+0

ウィンドウリスナーを使用してください。ウィンドウが開いたときに、各Person.FirstNameにコンボボックスを入力します。 – Adam

+0

ウィンドウが開かれた後にarraylistが入力されます –

答えて

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

関連する問題