建立一个 Derby 日历,第 2 部分: 嵌入选项(上)
2010-04-19 00:00:00 来源:WEB开发网必须要知道有多少事件才能初始化数组。为此需要创建一个可滚动的游标。默认情况下游标只能单向移动:前向。移动到下一个记录之后,就不能回来了。通过把游标设置成不受滚动影响的,就可以创建一个对象,它允许移动到最后一行并确定该行,然后再回到第一条记录从而能够以处理每一行。
知道有多少记录之后就可以遍历这些记录,对每条记录创建一个新的 EventClass 对象并使用数据填充。处理完一行后增加索引。然后像通常那样关闭连接,关闭数据库。
现在可以使用数据了。
显示某一天的事件
得到对象数组后,使用它在 GUI 中显示信息,如 清单 9 所示。
清单 9. 调用 calendar 类显示信息
...
class ShowListener implements java.awt.event.ActionListener
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
int month = showMonthCombo.getSelectedIndex()+1;
int day = showDayCombo.getSelectedIndex()+1;
int year = Integer.parseInt(
showYearCombo.getSelectedItem().toString());
EventClass[] eventsToShow = Calendar.getEvents(month, day, year);
String textToShow = null;
if (eventsToShow == null){
textToShow = "Nothing for that date.";
} else {
textToShow = "There are "+eventsToShow.length+
" events for this date:\n\n";
for (int i=0; i<eventsToShow.length; i++){
String thisEventText = eventsToShow[i].getTitle() + "\n" +
eventsToShow[i].getDescription() + "\nReminders to: "+
eventsToShow[i].getRemindersTo() + "\n";
textToShow = textToShow + thisEventText;
}
}
monthToShow.setText(new String().valueOf(month));
dayToShow.setText(new String().valueOf(day));
yearToShow.setText(new String().valueOf(year));
events.setText(textToShow);
}
}
...
更多精彩
赞助商链接