Java JTable作为MVC框架的一部分
在这里那里做了一些研究之后,我在解决一个特定的问题时感到丢脸。我不太熟悉Java JTable作为MVC框架的一部分,java,sql,swing,user-interface,jtable,Java,Sql,Swing,User Interface,Jtable,在这里那里做了一些研究之后,我在解决一个特定的问题时感到丢脸。我不太熟悉JTable,不知道我是否能得到一些建议 我正在处理一个模型-视图-控制器概念,我有以下问题 下面是模型类中的一段代码,它是无错误的: public TableModel getTableData() throws SQLException { try { String sql = "SELECT date as 'Date',eventName as 'Name', time as 'Sta
JTable
,不知道我是否能得到一些建议
我正在处理一个模型-视图-控制器概念,我有以下问题
下面是模型类中的一段代码,它是无错误的:
public TableModel getTableData() throws SQLException {
try {
String sql = "SELECT date as 'Date',eventName as 'Name', time as 'Start Time' FROM Event";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
TableModel model = (DbUtils.resultSetToTableModel(rs));
return model;
}
finally {
try {rs.close(); pst.close(); conn.close(); }
catch(SQLException e){}
}
}
下面是VIEW类的一个片段:
public EventView() {
initComponents();
this.model = new EventModel();
tableEvent.setModel(model.getTableData());
}
我的错误在于tableEvent.setModel(model.getTableData())视图类的code>部分,其中指出必须捕获或抛出SQL异常。据我所知,在接口(视图类)中处理数据库不是一个好的做法。应该由模型来处理
我有两个选择:
将throws子句添加到EventView()
构造函数本身
用try catch
环绕语句李>
但我相信这会将数据库导入和概念添加到接口中,我认为这不是一个好方法?你们觉得这有什么关系吗?或者,我可以以其他方式初始化我的表吗 应该从getTableData函数的签名中删除throws-SQLException子句。
SQLException是在该方法中处理的,因此不需要抛出它,视图也不需要知道它