2012-12-12 28 views
0

我有這樣的方法,設置我的天,每一天對象的JList在我的ArrayListJList的ArrayList的3個從每個項目對象

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 

..和等。我怎樣才能做到這一點?

+2

我會用未來2 JList的彼此。當您在第一個列表中選擇一個項目時,第二個項目將變爲活動狀態並顯示在第一個列表中選擇的一天的時間段。 –

回答

2

假設你有一個像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()); 
+0

使用這種方法,是不是隻寫Period1,Period2,Period3,Period1,Period2,Period3? –

相關問題