2011-07-11 20 views
4

私はリストボックスを持っており、いくつかのアイテムを追加したいと思います。 アイテムをストリングとして追加する方法はありますが、 リストボックスにアイテムを追加するには、ストリングとオブジェクトへの参照が必要です。 リストボックスで項目が選択された場合は、オブジェクト参照も取得します。 それ以外の場合は、常に適切なオブジェクトに対してequalを使用して検索しています。Gwt Listboxアイテムのオブジェクトへの参照

オプションはありますか?

答えて

2

リストボックス内の追加された項目のインデックスで、項目の値、または配列またはリストにインデックスされたマップにオブジェクトを格納できます。

+0

私はベクトルオブジェクトのを持っている現時点では。 これでListBoxを追加したいと思います。 – ph09

+0

ベクトルをリストボックスと平行に保つと、リストボックスでインデックスiの項目が選択されたときに、ベクトルのインデックスiにオブジェクトが表示されることがあります。 –

+0

sry私はあまりにも速く投稿しました;) 現時点では、私はオブジェクトのベクトルを持っています。 これをListBoxに追加します。 ListBoxで何かが選択されたとき、私はStringではなくObjectを取得したいと思います。 何かが好きです:mylistbox.add(String name、MyObject myObject)。 これはどういう意味ですか? int i = myListbox.getSelectedItem(); Myobjectオブジェクト= MyObjectVector.elementAt(i) – ph09

7

ListBoxの代わりにValueListBoxを試してください。

2

これは、古い質問ですが、最もエレガントな答えはここにいないので:

// Applicable for an object of specified type 'User' 
ValueListBox<User> lbUser = new ValueListBox<User>(new Renderer<User>() { 

    public String render(User user) { 
    String s = ""; 
    if (user != null) { 
     // Specify the format for the Strings to display per list item here. In this example, it is 
     // 'username (firstname lastname)' 
     // For example: MTielemans (Mark Tielemans) 
     s = user.getUsername() + "("+user.getFirstname()+" " + user.getLastname()+")"; 
    } else { 
     s = "Select a user"; 
    } 
    return s; 
    } 

    public void render(User user, Appendable appendable) throws IOException { 
     String s = render(user); 
     appendable.append(s); 
    } 
}); 
関連する問題