我有这种方法将我的几天的JList设置为ArrayList中的每个Day对象
public void setCalender(ArrayList<Day> calender) {
this.calender = calender;
listDays.setListData(this.calender.toArray());
}
每天包含3个期间对象。当前该列表呈现为:
Day1
Day2
Day3
但是我希望用户也可以通过渲染来选择一个周期
Day1: Period1
Day1: Period2
Day1: Period3
Day2: Period1
Day3: Period2
Day3: Period3
..等等。我该如何实现?
最佳答案
假设您有类似getPeriods()
的方法来返回特定日期的期间列表,则可以使用以下代码:
ArrayList<Day> calender;
ArrayList<Period> periods = new ArrayList<Period>();
for(Day d: calender)
{
for(Period p : d.getPeriods())
{
periods.add(p);
}
}
listDays.setListData(periods.toArray());