我JMenuItem在MVC框架的View类上有3套。我想在controll类中引用它们EventController。有人可以告诉我这实现了吗?下面是事件控制器。EventView类由JMenuItemaddEvent,editEvent,deleteEvent组成,如何在Controller类中为其侦听器。有人可以在Controller类的顶部演示使用示例代码吗?
JMenuItem
EventController
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; }
第二个问题,我只能JTable从View类本身更新a ,因此
JTable
View
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){} } }
在View类中具有代码是一种不好的做法,理想情况下应在Model中,但是如何执行此操作可以向我展示。这些概念对我来说是新的,想学习。因为JTable我觉得很难
让您的模型导出实例Action可以根据需要添加到菜单和按钮中。由于数据库访问本质上是异步的,因此在更新EDT上的表模式时,让每个此类操作都使用工作线程在后台查询数据库。另请参阅有关Swing组件和模型之间关系的 Swing体系结构概述 。
Action