0

下面的代码旨在根据所选日期使用可用时间填充组合框。

但是由于某种原因,组合框正在存储数据示例的内存地址:

Restaurant.Time@1a28362
Restaurant.Time@5fcf29
...

我知道它得到了正确的时间。但是我如何实际打印出实际项目?

TimeList times = dbConnector.selectTimes(lblDay.getText());//lblDay stores the date from the jCalendar button
cmbNewResTimes.removeAllItems();
for (int pos1 = 0; pos1 < times.size(); pos1++) {
    cmbNewResTimes.addItem(times.getTimeAt(pos1).toString());
}
4

2 回答 2

7

添加对象实例

首先,将其更改为:

// add the Object, rather than the String representation.
cmbNewResTimes.addItem(times.getTimeAt(pos1));  

设置渲染器

然后设置一个渲染器,见:

于 2012-04-23T12:35:36.630 回答
2

这意味着它Restaurant.Time不会覆盖该toString()方法,因此使用 by 提供的默认实现Object

如果您希望输出看起来不同,则需要覆盖Restaurant.Time.toString().

于 2012-04-23T12:29:40.420 回答