为了账号安全,请及时绑定邮箱和手机立即绑定

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 关注
  • 242 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号