Java Swing从ArrayLists显示大量数据

Row*_*iel 5 java swing arraylist large-data

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

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

比方说,我说有一个Player对象的ArrayList,大小非常大1000.在Java中是否可以允许用户滚动ArrayList?我考虑过创建10 JLabels,每次用户点击一个按钮时,它会遍历ArrayList到下一个10个Player对象.但这似乎不切实际.

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

小智 7

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

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

  • @RowenMcDaniel:重新说,"我会更多地关注JTables.如果有人有任何建议我向他们开放!" - 不,这*是正确的答案.接受此答案并开始编码.关键是JTable使用渲染将比涉及创建和显示许多组件的解决方案更有效. (4认同)