当前位置: 首页 > 知识库问答 >
问题:

Swing JList:如何从对象中显示字符串?[重复]

岳浩穰
2023-03-14

这让我很困惑。我在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;
}

@Override
public int getSize() {
    return this.data.size();
}

@Override
public 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个答案

康弘义
2023-03-14

它只是显示对象的地址

JList的默认呈现器仅调用对象的toString()方法,默认情况下,该方法是对象地址。

您应该为JList提供自定义渲染器。渲染允许您访问对象并以所需的任何格式显示对象中的任何数据。阅读Swing教程中有关使用自定义渲染器的部分。

一个更简单的解决方案是在对象中实现一个自定义的toString()方法。尽管不建议使用这种方法,因为调试时应该使用toString()来描述对象。

此外,没有理由创建自定义的ListModel。您只需使用DefaultListModel来保存请求对象。

 类似资料:
  • 问题内容: 非常简单的问题,但是由于某种原因,在谷歌搜索10分钟后,我在任何地方都找不到答案。使用JavaScript打印时如何显示转义符? 例: 给出: 当我要它给: 问题答案: 如果你的目标是 并以字符串文字形式输出它包含的内容,您可以使用: 添加外引号(至少在Chrome的实现中),但是其中的内容是字符串文字(是的,这有点令人困惑)。 接受您提供的内容(在这种情况下为字符串),并返回包含该值

  • 我正在做一个项目,在那里用户可以写其他用户的邮件。邮件类当前如下所示: 现在,问题是,我需要将所有邮件保存到. yml用户数据文件中。对我来说,最简单的方法是首先将每封邮件转换为字符串,然后将所有邮件保存到

  • 问题 你想改变对象实例的打印或显示输出,让它们更具可读性。 解决方案 要改变一个实例的字符串表示,可重新定义它的 __str__() 和 __repr__() 方法。例如: class Pair: def __init__(self, x, y): self.x = x self.y = y def __repr__(self):

  • 问题内容: 我得到的输出为 控制器中的日期Mon Dec 31 IST 2012 请提出一种以格式输出日期的方法。需要以日期格式而不是字符串形式输出,以便将输出存储在mysql db的字段中 问题答案: 声明后 您有一个对象, 可以将其按原样存储在mysql DB中 (列类型:datetime)。 但是,在打印时,它默认为实现。我认为您希望获得类似Date @的输出,但是toString以用户可读

  • 问题内容: 这个问题已经被问过了,但是我想API改变了,答案不再有效。 无法完成,因为TopLevelWindow受保护,并且诸如扩展/实现窗口之类的事情很荒唐:) 有人知道该怎么做吗?在我看来,这很难做到。 问题答案: 该代码在GroovyConsole中有效

  • 问题内容: 通过下面的代码运行时,我得到一个。 我该如何解决? 问题答案: 您为月份使用了错误的日期格式,也应使用与日期中相同的定界符。 如果日期字符串的格式 对模式使用相同的定界符 如果您的日期字符串的格式 在模式中使用相同的定界符“-” 应该 从 SimpleDateFormat文档 MM —>一年中的一个月 毫米->分钟