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 的大量数据的主要内容,如果未能解决你的问题,请参考以下文章
来自命令行的 javax.swing.JDialog.setAutoRequestFocus 的 Java NoSuchMethodError