亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Swing JList:如何從對象中顯示字符串?

Swing JList:如何從對象中顯示字符串?

千萬里不及你 2022-01-12 17:18:05
這讓我很困惑。我在 JList 中添加對象,如下所示:public class RequestListModel extends AbstractListModel<Request> {private static final long serialVersionUID = 1L;private List<Request> data = null;public RequestListModel (List<Request> data) {    this.data = data;}@Overridepublic int getSize() {    return this.data.size();}@Overridepublic Request getElementAt(int index) {    Request request = data.get(index);    return request;}}private JList<Request> getList() {    ListModel<Request> model = new RequestListModel(this.requestList);    if(jlist_from == null) {        jlist_from = new JList<Request>(model);    } else {        jlist_from.setModel(model);    }    return jlist_from;}但是當我運行程序時,它只顯示對象的地址: 那么我將如何顯示對象中的文本?非常感謝你。
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

它只顯示對象的地址

a 的默認渲染器JList只是調用toString()對象的方法,默認情況下是對象地址。

您應該為您的 JList 提供自定義渲染器。渲染允許您訪問對象并以您希望的任何格式顯示來自對象的任何數據。閱讀 Swing 教程中有關使用自定義渲染器的部分。

一個更簡單的解決方案是toString()在您的對象中實現自定義方法。雖然不推薦這種方法,因為在調試時應該使用 toString() 來描述對象。

此外,沒有理由創建自定義ListModel. 您可以只使用DefaultListModel來保存您的請求對象。


查看完整回答
反對 回復 2022-01-12
  • 1 回答
  • 0 關注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號