【问题标题】:JList ArrayList 3 items from each objectJList ArrayList 每个对象的 3 个项目
【发布时间】:2012-12-12 10:28:49
【问题描述】:

我有这个方法可以将我的 JList 天数设置为我的 ArrayList 中的每个 Day 对象

public void setCalender(ArrayList<Day> calender) {
    this.calender = calender;
    listDays.setListData(this.calender.toArray());
}

每天包含 3 个 Period 对象。目前列表呈现为:

Day1
Day2
Day3

但是我希望用户也能够通过渲染来选择一个时间段

Day1: Period1
Day1: Period2
Day1: Period3
Day2: Period1
Day3: Period2
Day3: Period3

..等等。我怎样才能做到这一点?

【问题讨论】:

  • 我会使用 2 个 JList 并排使用。当您在第一个列表中选择一个项目时,第二个将变为活动状态并显示在第一个列表中选择的一天中的时段。

标签: java swing jlist


【解决方案1】:

假设您有一个类似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());

【讨论】:

  • 用这个方法,不就是写Period1,Period2,Period3,Period1,Period2,Period3吗?
猜你喜欢
  • 1970-01-01
  • 2015-06-13
  • 2012-05-06
  • 2019-02-03
  • 2017-09-06
  • 2011-06-27
  • 1970-01-01
  • 2011-09-08
  • 2012-02-29
相关资源
最近更新 更多