小编典典

将JMenuItem传递给Controller类

sql

JMenuItem在MVC框架的View类上有3套。我想在controll类中引用它们EventController。有人可以告诉我这实现了吗?下面是事件控制器。EventView类由JMenuItemaddEvent,editEvent,deleteEvent组成,如何在Controller类中为其侦听器。有人可以在Controller类的顶部演示使用示例代码吗?

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;
}

第二个问题,我只能JTableView类本身更新a ,因此

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我觉得很难


阅读 166

收藏
2021-04-14

共1个答案

小编典典

让您的模型导出实例Action可以根据需要添加到菜单和按钮中。由于数据库访问本质上是异步的,因此在更新EDT上的表模式时,让每个此类操作都使用工作线程在后台查询数据库。另请参阅有关Swing组件和模型之间关系的
Swing体系结构概述

2021-04-14