2009-03-03 17 views
4

HTML Seçme etiketini taklit etmeye çalıştığım şey. Metni bir seçenek olarak görüntülemek istiyorum ancak seçildiğinde değerini kullanırdım. Örneğin, bir ülke adları listesi olurdu. Ancak, bir kullanıcı Japonya'yı seçtiğinde, o ülke için Yerel Ayar Kodunu almak istiyorum. Böylece kullanıcı Japonya'yı seçtiklerini görüyor, ancak kodum "ja_JP" veya bir şey alacak.Bir JComboBox'u HTML Seçimi gibi davranmanın bir yolu var mı?

Bir HashMap'ta veya bir şeyde Ülke Adı ve Yerel Ayar Kodunu saklamaktan kaçınmaya çalışıyorum.

cevap

8

Ekran adını ve ülke kodunu içeren bir Ülke nesnesi oluşturun. Ekran adını göstermek için hızlı ve kirli ve toString'i yapabilir ve daha sonra kullanıcı bir şey seçtiğinde, gerektiğinde kodu geri alabilirsiniz.

public class Country 
{ 
    String display; 
    String code; 

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

    public String getCode() 
    { 
     return code; 
    } 
} 

Yapıcıyı tembel olduğum gibi bıraktım. ToString'i geçersiz kılmaktan memnun değilseniz, aynı zamanda Country nesneleri ile ilgilenen kendi oluşturucunuzu oluşturabilir ve bunun yerine yeni bir alıcıyla ekranı kullanabilirsiniz.

1

DÜZENLEME: Daha hızlı yazmam gerekiyor.

Genellikle "value" değerini tutmak için özel bir nesne oluşturur ve JComboBox'un göstermesi gerekenleri döndürmek için toString() öğesini geçersiz kılar. Alternatif olarak kendi hücre oluşturucunuzu yazabilirsiniz.

+1

Kimse beni şaşırtmadı! :) – willcodejavaforfood

İlgili konular