我正在嘗試模仿HTML Select標籤。我想顯示文本作爲選項,但選中時,我會使用它的值。有沒有辦法讓JComboBox像HTML選擇一樣行事?
例如,我會列出國家名稱。但是,當用戶選擇日本時,我想獲取該國家的區域碼。所以用戶看到他們選擇了日本,但是我的代碼會得到「ja_JP」或其他東西。
我試圖避免將國家名稱和區域代碼存儲在HashMap或其他東西。
我正在嘗試模仿HTML Select標籤。我想顯示文本作爲選項,但選中時,我會使用它的值。有沒有辦法讓JComboBox像HTML選擇一樣行事?
例如,我會列出國家名稱。但是,當用戶選擇日本時,我想獲取該國家的區域碼。所以用戶看到他們選擇了日本,但是我的代碼會得到「ja_JP」或其他東西。
我試圖避免將國家名稱和區域代碼存儲在HashMap或其他東西。
創建一個包含顯示名稱和國家代碼的國家對象。你可以做到快速和骯髒,並重寫toString來顯示顯示名稱,然後只需在用戶選擇某些內容時檢索代碼。
public class Country
{
String display;
String code;
@Override
public String toString()
{
return display;
}
public String getCode()
{
return code;
}
}
遺漏了構造函數,因爲我很懶。如果您對重寫toString不滿意,您還可以創建自己的渲染器來處理Country對象,並通過新的getter來使用顯示器。
編輯:我需要輸入更快。
我通常會創建一個自定義對象來保存「值」並重寫toString()來返回JComboBox應顯示的內容。或者,您可以編寫自己的單元格渲染器。
沒有人輸我! :) – willcodejavaforfood 2009-04-09 16:20:23