Java JList设置为ArrayList,显示预设标题

Java JList设置为ArrayList,显示预设标题,java,swing,jlist,Java,Swing,Jlist,我有一个JList,它被设置为ArrayList天数 public void setCalender(ArrayList<Day> calender) { this.calender = calender; listDays.setListData(this.calender.toArray()); } 当列表呈现时,它将每个列表项显示为“kkbs”。Day@4d182e1e“比如说。 有没有办法制作一个固定字符串来显示用户(即Day1),同时仍将整个对象保留在列表

我有一个
JList
,它被设置为
ArrayList
天数

public void setCalender(ArrayList<Day> calender) {
    this.calender = calender;
    listDays.setListData(this.calender.toArray());
}
当列表呈现时,它将每个列表项显示为“kkbs”。Day@4d182e1e“比如说。
有没有办法制作一个固定字符串来显示用户(即Day1),同时仍将整个对象保留在列表中以检索?

我想在将jList扩展到您自己的列表后,您必须重写
toString()
方法。

使用自定义列表来根据需要格式化视图。或者,您可以为对象定义一个
toString()
,但渲染器的功能更为广泛。

只需按照

public String toString()
{
    return "whatever string representation of your day class it is you want to return";
}
toString
的默认实现将返回
objectName@hashCode

您需要提供能够以您想要的方式描绘数据的功能


签出以获取更多信息

在日课中覆盖toString方法:

@Override
public String toString() {
    return "Day" + date.toString(); 
}
@Override
public String toString() {
    return "Day" + date.toString(); 
}