【发布时间】:2014-05-07 17:33:51
【问题描述】:
我有一个叫CountryList的arraylist,它是一个国家列表,然后我用了代码
jComboBox1.addItem(countries);
尝试将数组列表添加到组合框中,但没有任何反应,没有出现国家列表。
我似乎找不到任何地方说明为什么这不起作用。
这是我被告知应该包含所有国家/地区的代码:
public class CountryList
{
public static void main(String[] args)
{
List<Country> countries = new ArrayList<Country>();
Locale[] locales = Locale.getAvailableLocales();
for (Locale locale : locales)
{
String iso = locale.getISO3Country();
String code = locale.getCountry();
String name = locale.getDisplayCountry();
if (!"".equals(iso) && !"".equals(code) && !"".equals(name))
{
countries.add(new Country(iso, code, name));
}
}
Collections.sort(countries, new CountryComparator());
for (Country country : countries)
{
System.out.println(country);
}
}
}
class CountryComparator implements Comparator<Country>
{
private Comparator comparator;
CountryComparator()
{
comparator = Collator.getInstance();
}
public int compare(Country o1, Country o2)
{
return comparator.compare(o1.name, o2.name);
}
}
class Country
{
private String iso;
private String code;
public String name;
Country(String iso, String code, String name)
{
this.iso = iso;
this.code = code;
this.name = name;
}
public String toString()
{
return iso + " - " + code + " - " + name.toUpperCase();
}
}
编辑
for (CountryList country : countries)
{
jComboBox1.addItem(country);
}
【问题讨论】:
-
也许你想添加
Country类的元素而不是CountryList类的元素
标签: java swing arraylist jcombobox