JComboBoxをHTML Selectのように動作させる方法はありますか?
質問
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が表示する内容を返します。または、独自のセルレンダラーを作成することもできます。
所属していません StackOverflow