Java Swing 显示来自 ArrayLists 的大量数据

Posted

技术标签:

【中文标题】Java Swing 显示来自 ArrayLists 的大量数据【英文标题】:Java Swing Displaying Large Amounts of Data from ArrayLists 【发布时间】:2015-08-29 02:47:56 【问题描述】:

我无法提供代码,因为这是我目前面临的一个抽象问题。

我正在开发一个允许用户跟踪游戏玩家的程序。该程序本质上将玩家资料信息存储在 ArrayList 中。我希望我的程序的一个功能是让用户能够浏览整个 ArrayList 的玩家。

假设我有一个 Player 对象的 ArrayList,并且大小非常大,比如 1000。在 Java 中是否可以允许用户滚动 ArrayList?我考虑过创建 10 个JLabels,每次用户单击一个按钮时,它都会遍历 ArrayList 到下一个 10 个Player 对象。但这似乎并不实用。

我可以利用任何 Swing 功能来解决这个问题吗?

【问题讨论】:

【参考方案1】:

尝试使用 JTable,其中每个表行都包含每个玩家的信息。您可以扩展类 AbstractTableModel 来定义每个玩家的字段,以及哪个玩家显示在哪个表格行上。

我编写了一个 Java 应用程序,它使用超过 2000 行、大约 15 到 20 列的 JTables,并且没有性能问题。要限制显示的行数,还可以使用 RowFilter,也可以使用 RowSorter 自定义排序。

【讨论】:

感谢您的建议,我会更多地研究 JTables。如果有人有任何建议,我愿意接受! @RowenMcDaniel: re, "I will look more into JTables. If anyone has anymore suggestion I am open to them!" -- 不,这正确答案。接受这个答案并开始编码。关键是使用渲染的 JTable 将比涉及创建和显示许多组件的解决方案更有效。 @HovercraftFullOfEels 感谢您提供这个答案:D。

以上是关于Java Swing 显示来自 ArrayLists 的大量数据的主要内容,如果未能解决你的问题,请参考以下文章

java 的Swing

使用 ArrayList 创建 jTable

来自命令行的 javax.swing.JDialog.setAutoRequestFocus 的 Java NoSuchMethodError

关于java Swing 的学生管理信息系统的问题

来自邮政编码的 Java Swing GoogleMaps 地理定位

Java swing 添加来自另一个类的组件