必需的国家组合框

时间:2011-04-12 09:29:45

标签: java locale country

在我的项目中,我有一个国名的字段。到目前为止,我正在文本字段中插入国家/地区名称。我想要已经包含所有国家名称的组合框。在java中有没有类似的组合框?

3 个答案:

答案 0 :(得分:1)

如果你使用摇摆,那么你有JComboBox。或者在html的Web项目中,您有Select标记。

答案 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在更改时使用新的国家/地区列表发布时,您的应用将使用不正确的旧列表(至少几天)。所以你可能想要从文件或数据库中读取它们。