2016-06-19 3 views
0

У меня есть класс под названием «Sprache» и нужен атрибут «getSprache», который является методом get. Я хочу показать все «getSprache» в Jcombobox. У меня действительно есть DefaultComboboxModel. Как я могу это сделать? Нужен ли мне список? Как выглядит цикл для модели?JAVA - получить атрибут из класса в список

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

Я раздражен. Итак, у вас есть несколько объектов Sprache для размещения в JComboBox или только один с разными строками или вы хотите разбить эту строку? – GreenThor

+0

Что содержит 'sprache'? Один язык или список нескольких языков? У вас есть 'List ' где-нибудь? В настоящее время этот вопрос довольно неясен. – sinclair

+0

Я хочу отображать только строки, String sprache содержит язык, также как английский, немецкий, итальянский. Это должен быть список серверных языков для выбора. – Plex

ответ

0

Если ваш класс Sprache содержит один «Sprache» (язык), то вы можете перебирать их все и называют #getSprache() на каждом и хранения возвращаемого значения в массиве Струнный :

// 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); 
Смежные вопросы