我在MVC框架的View類上有3組JMenuItem
。我想在控制類EventController
中引用它們。有人能告訴我這是成就嗎?以下是事件控制器。類EventView由JMenuItem
addEvent,editEvent,deleteEvent組成,我如何在Controller類中爲它們執行偵聽器。有人可以演示在我的Controller類上使用示例代碼嗎?將JMenuItem傳遞給控制器類
public class EventController implements ActionLister {
private EventModel model;
private EventView view;
private ActionListener actionListener;
public EventController(EventModel model, EventView view){
this.model = model;
this.view = view;
}
第二個問題,我只能從View
類本身更新JTable
,所以
public void updateEventTable() {
try {
String sql = "SELECT date as 'Date',eventName as 'Name', time as 'Time' FROM Event";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
tableEvent.setModel(DbUtils.resultSetToTableModel(rs));
tableEvent.getColumnModel().getColumn(0).setPreferredWidth(80);
tableEvent.getColumnModel().getColumn(1).setPreferredWidth(170);
tableEvent.getColumnModel().getColumn(2).setPreferredWidth(110);
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
} finally {
try {
rs.close(); pst.close();conn.close();;
} catch(SQLException e){}
}
}
這是具有在視圖類代碼不好的做法,最好應在型號,但該怎麼辦這可以讓你看看我。這些概念對我而言是新事物,並且想要學習。由於JTable
我覺得它很困難
控制器是如何進入這個模型和通信視圖的網關的。你能告訴我一個代碼示例嗎?我關心控制器類檢索JMenuItems的地址,就像引用它,以便該操作在控制器類中執行,而不是查看類 – Hoody
偉大的最後一個鏈接:D – Hoody