在我的项目中,我有一个字段是国家名称。到现在为止,我在文本框上插入国家名称。我想要的组合框已经包含所有的国家名称。java中有这样的组合框吗?
如果你使用swing,那么你有JComboBox。或者在Webproject中,在html中选择标签
如果您正在使用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());
没有预先填充所有国家的JComboBox,但是您可以很容易地在web上找到国家列表,将它们声明为常量数组,并使用该数组填充JComboBox或您选择使用的任何内容。尽管常量数组可能是不好的做法,因为列表可能会随着时间的推移而缓慢变化。
一个更好的方法是从Java中获取它们,使用如下代码:http://www.java2s.com/Code/Java/I18N/Getalistofcountrynames.htm
但是,这确实依赖于您在生产中使用的JDK与当前国家列表保持最新。当你在等待JDK发布新的国家列表时,你的应用程序将使用不正确的旧列表(至少有几天)。因此,您可能希望从文件或数据库中读取它们。