我正在尝试想出一种将数据从数据库传输到 JTable 的方法,起初我想使用 ResultSet 到 Vector 到 DefaultTableModel 来实现它,因为 DefaultTableModel 只需要一个 Vector,但后来我读到似乎 vector 已过时且已弃用。所以我的问题是,在这种情况下使用 Vector 会是不好的编程吗?如果不推荐使用向量,那么为什么 DefaultTableModel 只需要一个向量?
-谢谢。
我正在尝试想出一种将数据从数据库传输到 JTable 的方法,起初我想使用 ResultSet 到 Vector 到 DefaultTableModel 来实现它,因为 DefaultTableModel 只需要一个 Vector,但后来我读到似乎 vector 已过时且已弃用。所以我的问题是,在这种情况下使用 Vector 会是不好的编程吗?如果不推荐使用向量,那么为什么 DefaultTableModel 只需要一个向量?
-谢谢。
我读到该向量已过时,应改为使用集合,
Vector 是 Collections 框架的一部分。它实现了与 ArrayList 相同的 List 接口。不同之处在于 Vector 是自动同步的,而 ArrayList 不是。在 gui 中使用 JTable 时,这几乎没有什么区别(如果有的话)。
如果您想要一个使用 ArrayList 的模型,那么您可以查看List Table Model。此外,请参阅数据库中的表,了解使用 aResultSet
创建ListTableModel
.
如果不推荐使用向量,那么为什么 DefaultTableModel 只需要一个向量?
DefaultTableModel采用JTablel或DefaultTableModel中的简单数组Object、String、Integer、Boolean[]
Vector 仍然是并将成为JTable、DefaultTableModel的构造函数(Java8 的 pre_realeses 没有任何变化)
DefaultTableModel 为 JTable 所需的所有方法提供了简单的实现,而且一切都只是关于 DefaultTableModels API 中实现的限制或增强方法
您可以使用 util.List 作为 JTable 的底层数组,更好地替代 Vector,但我建议使用 AbstractTableModel,
在 AbstractTableModel 中,您也可以使用 Object、String、Integer、Boolean[] 或 Vector> 作为底层 arra