Swing 在JTable和TableModel之间

Swing 在JTable和TableModel之间,swing,vector,jtable,abstracttablemodel,Swing,Vector,Jtable,Abstracttablemodel,现在我感到困惑 JTable是swing API的一部分,因此它处理我们如何查看表的问题 用JTable table表示=新的JTable() 然而,要处理数据库,它需要另一个类,或者是从AbstractTableModel或DefaultTableModel扩展而来。 如何陈述这一点 第二: JTable(对象[][]行数据,对象[]列名称) JTable(向量行数据、向量列名称) 这是我从sun网站上得到的信息,如何或可能在代码中添加这些信息 据我所知,数据处理是如何由从任何一个类扩展而来的

现在我感到困惑

JTable是swing API的一部分,因此它处理我们如何查看表的问题 用JTable table表示=新的JTable()

然而,要处理数据库,它需要另一个类,或者是从AbstractTableModel或DefaultTableModel扩展而来。 如何陈述这一点

第二:

JTable(对象[][]行数据,对象[]列名称)

JTable(向量行数据、向量列名称)

这是我从sun网站上得到的信息,如何或可能在代码中添加这些信息

据我所知,数据处理是如何由从任何一个类扩展而来的类处理的。这是否意味着它是如何在模型中的JTable视图中打印的

好的,如果有关于这部分的阅读,请指出我可以阅读的地方


提前谢谢

我不知道我是否完全理解你的问题。您是否在问如何从JDBC结果集创建TableModel?如果是这样,这里有一个很好的技巧:

这会将所有数据读入内存。如果您的查询非常大,并且您的JDBC驱动程序支持任意滚动游标,那么您可以创建一个TableModel接口的实现,该接口由ResultSet本身支持,这将防止您的应用程序因大量结果而耗尽内存。这有点复杂,但在这里演示:


一旦创建了TableModel,就可以执行“JTable tablename=new JTable(myTableModel);”我可能对这个概念感到困惑,是的,我想从JDBC结果集创建TableModel。但同时我对主程序如何声明和调用tablemodel类感到困惑,我是否仍然需要声明JTable tablename=new JTable();如果我想在tablemodel类中完成所有操作?如果是这样的话…无论如何,谢谢你的URL,我会读的哦,我不小心编辑了你的评论,而不是添加了一个新的-很抱歉。我不知道如何还原它。好吧,所有这些都应该在主类中,其他的都可以放在tablemodel类中,对吗?你不想在tablemodel类中创建JTable。这是MVC(模型、视图、控制器)范例:JTable是一个视图类。TableModel是一个模型类。你的代码就是控制器;它创建一个TableModel并将其传递给JTable。