[英]show the 1st and 2nd value of object in comboBox
我有一個帶有作者列表的組合框,並且隨着組合框的更改,我必須使用java swing在表中顯示作者的詳細信息。 我喜歡:
for(Author author: Application.authors){
jComboBoxAuthors.addItem(author);
}
並更改所選項目:
if(jComboBoxAuthors.getSelectedIndex()>0){
Author author = (Author)e.getItem();
String name = author.getFirstName()+" "+author.getLastName();
}
它以組合形式顯示對象,但是如果我需要名稱,則只需要我dojComboBoxAuthors.addItem(author.getFirstName());
我不能在表中獲得價值,即。 名字什么也沒返回。 如何解決此問題?
使用自定義渲染器將破壞JComboBox的默認功能。 那就是您將不再能夠使用鍵盤選擇一個項目。
請查看帶有“自定義渲染器”的組合框,以獲取更多信息和更完整的解決方案,其中顯示了如何解決此問題。
您可以做的一件事是重寫toString()方法,如下所示
@Override
public String toString() {
return firstName+" "+lastName; // so that name will be displayed instead of default object
}
但是它有其局限性。 希望能幫助到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.