0

我正在使用最多可以包含 8 个项目的 JList 处理 UI 内容。从逻辑上讲,一旦应用程序达到限制,我就阻止了应用程序添加到 JList,但是,我想知道是否有一种方法可以显式地设置 JList 本身的限制。这将有助于我接下来要做的事情,即重新绘制空单元格(最多 8 个单元格)以指示它们是可以填充的空槽。我试图找到一种方法来做到这一点(也许通过扩展 ListUI),它不涉及将占位符元素添加到 JList 中以表示空白。

4

2 回答 2

2

您可以尝试此处显示的方法,该方法限制N条目的增长,此后启用滚动。此处ListCellRenderer显示的 A可用于更改项目的外观。

于 2012-06-04T16:57:45.227 回答
2

我认为最简单的方法是实现一个列表模型(使用 DefaultListModel 或 AbstractListModel) 我的想法是该模型将始终有 8 个项目。所有这些都带有一条空消息。

如果您向模型添加新项目,您可以将空文本替换为该项目的特定文本。模型将跟踪向模型中添加了多少项目。如果您尝试添加更多 MAX_ITEMS,您可以抛出异常或类似的东西。

实现 DefaultListModel 非常简单,并且您在 Internet 上有很多示例。

于 2012-06-04T16:52:12.163 回答