我有这种方法将我的几天的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());

10-02 11:29