質問

HTMLのSelectタグを模倣しようとしています。オプションとしてテキストを表示したいのですが、選択すると、その値が使用されます。

たとえば、国名のリストがあります。ただし、ユーザーが日本を選択した場合、その国のロケールコードを取得したいです。そのため、ユーザーは日本を選択したことがわかりますが、私のコードは「ja_JP」を取得します。または何か。

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

役に立ちましたか?

解決

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

public class Country
{
    String display;
    String code;

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

    public String getCode()
    {
        return code;
    }
}

私は怠け者であるため、コンストラクタを残します。 toStringのオーバーライドに満足できない場合は、Countryオブジェクトを扱う独自のレンダラーを作成し、代わりに新しいゲッターを介してディスプレイを使用することもできます。

他のヒント

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top