在我的项目中,我有一个国名的字段。到目前为止,我正在文本字段中插入国家/地区名称。我想要已经包含所有国家名称的组合框。在java中有没有类似的组合框?
答案 0 :(得分:1)
答案 1 :(得分: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());
答案 2 :(得分:1)
没有预先填充的JComboBox与所有国家/地区,但您可以轻松地在Web上找到国家/地区列表,将它们声明为常量数组,并使用该数组填充JComboBox或您选择的任何内容使用。虽然常量数组可能是不好的做法,因为列表可能会随着时间的推移缓慢变化。
更好的方法是使用以下代码从Java中获取它们:http://www.java2s.com/Code/Java/I18N/Getalistofcountrynames.htm
但是,这确实依赖于您在生产中使用的JDK与当前的国家/地区列表保持同步。当您等待JDK在更改时使用新的国家/地区列表发布时,您的应用将使用不正确的旧列表(至少几天)。所以你可能想要从文件或数据库中读取它们。