在我的项目中,我有一个国家名称字段。直到现在我在文本字段中插入国家名称。我想要已经包含所有国家名称的组合框。java中是否有类似的组合框?
1710 次
3 回答
1
如果您使用的是 Swing,那就是JComboBox
类。你可以像这样使用它:
JComboBox comboBox = new JComboBox();
comboBox.addItem("First item");
comboBox.addItem("Second item");
comboBox.addItemListener(new ItemListener()
{
@Override
public void itemStateChanged(ItemEvent e)
{
if (e.getStateChange() == ItemEvent.SELECTED)
System.out.println("Item " + e.getItem() + " selected");
else
System.out.println("Item " + e.getItem() + " deselected");
}
});
System.out.println("Selected item: " + comboBox.getSelectedItem());
于 2011-04-12T09:35:32.847 回答
1
没有预先填充所有国家/地区的 JComboBox,但您可以轻松地在网络上找到国家/地区列表,将它们声明为常量数组,然后使用该数组填充 JComboBox 或您选择使用的任何内容。尽管常量数组可能是不好的做法,因为列表可能会随着时间的推移而缓慢变化。
更好的方法是使用如下代码从 Java 获取它们:http ://www.java2s.com/Code/Java/I18N/Getalistofcountrynames.htm
但是,这确实取决于您在生产中使用的 JDK 是否与当前国家/地区列表保持同步。而且,当您等待 JDK 发布时,新的国家/地区列表发生变化时,您的应用程序将使用不正确的旧列表(至少在几天内)。因此,您可能希望改为从文件或数据库中读取它们。
于 2011-04-12T09:46:07.720 回答