Netbeansのドラッグアンドドロップを使用してJCombobox
を作成しました。コンボボックスにarraylistオブジェクトを追加する
私にはArrayList<Person>
があります。
どのようにPerson
のFirstName
を自動的にコンボボックスに追加しますか?
Netbeansによって生成されたコードは、ソースビューで編集できません。
Netbeansのドラッグアンドドロップを使用してJCombobox
を作成しました。コンボボックスにarraylistオブジェクトを追加する
私にはArrayList<Person>
があります。
どのようにPerson
のFirstName
を自動的にコンボボックスに追加しますか?
Netbeansによって生成されたコードは、ソースビューで編集できません。
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:次のような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:プログラムを実行します。
ウィンドウリスナーを使用してください。ウィンドウが開いたときに、各Person.FirstNameにコンボボックスを入力します。 – Adam
ウィンドウが開かれた後にarraylistが入力されます –