WEB开发网
开发学院软件开发Java 建立一个 Derby 日历,第 3 部分: 使用事务和锁定... 阅读

建立一个 Derby 日历,第 3 部分: 使用事务和锁定(下)

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 如果单元格是可编辑的 —— 可使用行列信息为每个单元格设置该属性 —— GUI 需要知道如果用户编辑了该单元格那么该如何做,在这里 GUI 为适当的 EventClass 对象设置适当的数据,建立一个 Derby 日历,第 3 部分: 使用事务和锁

如果单元格是可编辑的 —— 可使用行列信息为每个单元格设置该属性 —— GUI 需要知道如果用户编辑了该单元格那么该如何做。在这里 GUI 为适当的 EventClass 对象设置适当的数据。

行映射到对象

当然,GUI 需要知道如何建立表中的行与特定对象的关系(参见 清单 18)。

清单 18. 行映射到对象

   ... 
  events[rowIndex].setRemindersTo(aValue.toString()); 
  break; 
  } 
 } 
 } 
 
 public EventClass getEventAtRow(int rowIndex) { 
 if ((this.events != null) && (rowIndex < this.events.length)) { 
  return this.events[rowIndex]; 
 } 
 return null; 
 } 
}

这里因为使用的是数组,所以非常简单。

刷新表

最后,GUI 需要知道如何刷新自身,如 清单 19 所示。

清单 19. 刷新模型

   ... 
public class EventTableModel extends AbstractTableModel { 
 
 String[] columns = { "Title", "Description", "Reminders To" }; 
 
 EventClass[] events; 
 
 public void reloadEventsForDate(Connection conn, Date date) { 
 events = Calendar.getEvents(conn, date); 
 fireTableDataChanged(); 
 } 
 
 public int getRowCount() { 
 if (events != null) { 
...

reloadEventsForDate() 方法接受两个参数:一个连接和一个日期,使用 Calendar 类得到相应的事件数组。然后调用 fireTableDataChanged() 方法,该方法继承自 AbstractTableModel 类。该方法知道如何使用已定义的读方法,如 getColumnCount() 和 getValueAt() 来显示表。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:建立 一个 Derby

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接