JAVA - 从类到列表获取属性

时间:2016-06-19 13:35:00

标签: java class attributes jcombobox

我有一个名为" Sprache"并且需要一个属性" getSprache",谁是一个获取方法。我想要显示所有" getSprache"到Jcombobox。我实际上有一个DefaultComboboxModel。 我该怎么做? 我需要一份清单吗? 如何看待模型的循环?

public class Sprache {

private int id;
private String sprache;
private String kuerzel;

public int getId() {
    return id;
}
public String getSprache() {
    return sprache;
}
public String getKuerzel() {
    return kuerzel;
}
private void setId(int id) {
    this.id = id;
}
private void setSprache(String sprache) {
    this.sprache = sprache;
}
private void setKuerzel(String kuerzel) {
    this.kuerzel = kuerzel;
}

@Override
public String toString() {
    return "Sprache [id=" + id + ", sprache=" + sprache + ", kuerzel=" + kuerzel + "]";
}

}

1 个答案:

答案 0 :(得分:0)

如果您的班级Sprache包含一个" Sprache" (语言),然后你可以遍历所有这些并在每个上调用#getSprache()并将返回值存储在String数组中:

// Instantiate Classes
Sprache sprache1 = new Sprache();
sprache1.setId(0);
sprache1.setKuerzel("EN");
sprache1.setSprache("English");

Sprache sprache2 = new Sprache();
sprache2.setId(1);
sprache2.setKuerzel("DE");
sprache2.setSprache("Deutsch");

List<Sprache> sprachen = new ArrayList<>(2);
sprachen.add(sprache1);
sprachen.add(sprache2);

// Create an array from the langues
String sprachenStringArray[] = {sprache1.getSprache(), sprache2.getSprache()};
// Alternative way
String sprachenStringArray[] = new String[sprachen.size()];
for (int i = 0; i < sprachen.size(); i++)
{
    sprachenStringArray[i] = sprachen.get(i).getSprache();
}

// Create combo box model
DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>(sprachenStringArray);