我想要做的是模仿HTML Select标记。我想将文本显示为一个选项,但在选中时,我会使用它的值。

例如,我会有一个国家/地区名称列表。但是,当用户选择日本时,我想获得该国家/地区的区域设置代码。因此,用户看到他们选择了日本,但我的代码将获得“ja_JP”。什么的。

我正在尝试避免将国家/地区名称和区域设置代码存储在HashMap或其他内容中。

有帮助吗?

解决方案

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

public class Country
{
    String display;
    String code;

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

    public String getCode()
    {
        return code;
    }
}

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

其他提示

编辑:我需要更快打字。

我通常创建一个自定义对象来保存“值”。并覆盖toString()以返回JComboBox应显示的内容。或者,您可以编写自己的单元格渲染器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top