有没有办法让JComboBox像HTML Select一样?

Asc*_*ian 4 java swing jcombobox

我想要做的是模仿HTML Select标签.我想显示文本作为选项,但选中后,我会使用它的值.

例如,我会有一个国家/地区名称列表.但是,当用户选择日本时,我想获得该国家/地区的区域设置代码.所以用户看到他们选择了日本,但我的代码将获得"ja_JP"或其他东西.

我试图避免将国家名称和区域设置代码存储在HashMap或其他东西中.

wil*_*ood 8

创建一个包含显示名称和国家/地区代码的Country对象.您可以执行quick和dirty并覆盖toString以显示显示名称,然后在用户选择某些内容时根据需要检索代码.

public class Country
{
    String display;
    String code;

    @Override
    public String toString()
    {
        return display;
    }

    public String getCode()
    {
        return code;
    }
}
Run Code Online (Sandbox Code Playgroud)

因为我很懒,所以遗漏了构造函数.如果您对覆盖toString不满意,您还可以创建自己的渲染器来处理Country对象,并通过新的getter使用显示.