0

私はJComboBoxタイプのを持っていmyclassます。CustomListRenderの属性の1つを表示するために使用しますがmyclass、正常に機能します。

次に設定しmyCombobox.setEditable(true)ます。JComboBox編集可能になりますが、デフォルトでは、テキストは次のように設定されていますcombobox

 com.mypackagename.myclass

誰かがこの問題を解決する方法を教えてもらえますか?

前もって感謝します。

4

1 に答える 1

2

コンボボックスの使用方法:カスタムレンダラーの提供で説明したように、

デフォルトのレンダラーは、文字列とアイコンをレンダリングする方法を知っています。他のオブジェクトをコンボボックスに入れると、デフォルトのレンダラーがtoStringメソッドを呼び出して、表示する文字列を提供します。

オーバーライドされない限り、おそらくtoString()から継承された実装が表示されObjectます。少なくとも、レンダラーサプライをオーバーライドMyClass#toString()または更新して、それに応じてカスタムエディターを提供する必要があります。ここに関連する例があります。ほとんどの人は後者を好むでしょう。カスタムレンダラーを表示するsscceを使用すると、代替案を簡単に提案できます。

于 2012-10-07T16:18:15.723 に答える