Java 将信息从数据库传输到JTable

Java 将信息从数据库传输到JTable,java,swing,jdbc,jtable,defaulttablemodel,Java,Swing,Jdbc,Jtable,Defaulttablemodel,我想找到一种将数据从数据库传输到JTable的方法, 起初,我想使用ResultSet将向量转换为DefaultTableModel,因为DefaultTableModel只接受一个向量, 但后来我读到,vector似乎已经过时,不推荐使用。所以我的问题是,在这种情况下使用向量编程会不会很糟糕?如果vector已被弃用,那么为什么DefaultTableModel只接受一个vector -谢谢 如果vector已被弃用,那么为什么DefaultTableModel只接受 向量 DefaultT

我想找到一种将数据从数据库传输到JTable的方法, 起初,我想使用ResultSet将向量转换为DefaultTableModel,因为DefaultTableModel只接受一个向量, 但后来我读到,vector似乎已经过时,不推荐使用。所以我的问题是,在这种情况下使用向量编程会不会很糟糕?如果vector已被弃用,那么为什么DefaultTableModel只接受一个vector

-谢谢

如果vector已被弃用,那么为什么DefaultTableModel只接受 向量

  • DefaultTableModel采用简单数组或

  • Vector仍然是并且将是的构造函数(Java8的pre_realeses没有任何更改)

  • DefaultTableModel为JTable所需的所有方法提供了简单的实现,而且所有内容都只涉及DefaultTableModels API中实现的限制或增强方法

  • 您可以使用util.List作为JTable的底层数组,这是向量的更好替代方法,但我建议使用AbstractTableModel

  • 在AbstractTableModel中,您也可以使用Object、String、Integer、Boolean[]或Vector>作为基线阵列

我读到向量已经过时了,应该用集合代替

向量是集合框架的一部分。它实现了与ArrayList相同的列表接口。区别在于Vector是自动同步的,ArrayList不是。在gui中使用JTable时,这几乎没有什么区别(如果有的话)


如果您想要使用ArrayList的模型,则可以签出。另外,有关使用
ResultSet
创建
ListTableModel

的简单方法,请参见谁说该向量已被弃用?从Java7开始就不是这样了。无论如何,这里的坏主意是绑定GUI和持久层(也就是说,直接在ResultSet中传递数据,而不是在不可知的对象(v.g.a bean)中传递数据。)@SJuan76不是flamewar,我的视图bean导致了另一个问题,重要的是Mether的性能。默认情况下,基于AbstractTableModel,有针对JDBC_to_JTable的优化类,(Vector或util.List)搜索ResultSetTableModel或TableFromDatabase以获取更多信息,并避免重复使用