4

私がやろうとしていることは、HTMLSelectタグを模倣しています。オプションとしてテキストを表示したいのですが、選択するとその値を使用します。

たとえば、国名のリストがあります。ただし、ユーザーが日本を選択したときに、その国のロケールコードを取得したいと思います。したがって、ユーザーには日本を選択したことがわかりますが、私のコードには「ja_JP」などが表示されます。

国名とロケールコードをHashMapなどに保存しないようにしています。

4

2 に答える 2

8

表示名と国コードを含む Country オブジェクトを作成します。クイック アンド ダーティを実行し、toString をオーバーライドして表示名を表示し、ユーザーが何かを選択したときに必要なときにコードを取得することができます。

public class Country
{
    String display;
    String code;

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

    public String getCode()
    {
        return code;
    }
}

私は怠け者なので、コンストラクターを省略しました。toString のオーバーライドに満足できない場合は、Country オブジェクトを処理する独自のレンダラーを作成し、代わりに新しい getter を介して表示を使用することもできます。

于 2009-03-03T14:37:01.760 に答える
1

編集: より速く入力する必要があります。

私は通常、「値」を保持するカスタム オブジェクトを作成し、toString() をオーバーライドして JComboBox が表示する内容を返します。または、独自のセル レンダラーを作成することもできます。

于 2009-03-03T14:37:43.367 に答える