簡體   English   中英

在comboBox中顯示對象的第一個和第二個值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM