2009-03-03 2 views
4

HTML Select 태그를 모방하려고합니다. 텍스트를 옵션으로 표시하고 싶지만 선택하면 그 값을 사용합니다.JComboBox가 HTML Select와 같은 역할을하도록하는 방법이 있습니까?

예를 들어 국가 이름 목록이 있습니다. 그러나 사용자가 일본을 선택하면 해당 국가의 로케일 코드를 가져 오려고합니다. 그래서 사용자는 그들이 일본을 선택했다는 것을 알지만, 코드는 "ja_JP"또는 뭔가를 얻을 것입니다.

HashMap 또는 기타 국가 이름 및 로캘 코드를 저장하지 않으려합니다.

답변

8

표시 이름과 국가 코드가 포함 된 국가 개체를 만듭니다. 당신은 신속하고 더러운 일을 할 수 있고 toString을 오버라이드하여 표시 이름을 표시 한 다음 사용자가 무언가를 선택할 때 필요할 때 코드를 검색합니다.

public class Country 
{ 
    String display; 
    String code; 

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

    public String getCode() 
    { 
     return code; 
    } 
} 

저는 게으르다. toString을 재정의하는 것에 만족하지 않으면 Country 객체를 다루는 자체 렌더러를 만들고 새 게터 대신 디스플레이를 사용할 수 있습니다.

1

편집 : 빠르게 입력해야합니다.

일반적으로 "값"을 보유 할 사용자 지정 개체를 만들고 toString()을 재정 의하여 JComboBox에 표시 할 내용을 반환합니다. 또는 자체 렌더러를 작성할 수도 있습니다.

+1

아무도 나를 밖으로 유형! :) – willcodejavaforfood

관련 문제