java - JComboBox 是否有最大字段数?

标签 java swing jcombobox

我浏览了文档,但找不到答案...显然,如果字段数量变得太多,使用 JComboBox 就变得不切实际,但理论上,JComboBox 是否有最大字段数?

最佳答案

诸如 setSelectedIndex(...)getItemAt(...) 之类的方法采用 int 变量作为参数。这表明 ComboBoxModel 可以支持“理论”最大 INTEGER.MAX_VALUE 项。

但是,这些项目还必须渲染并最终显示在 JScrollPane 中。滚动 Pane 和垂直 JScrollBar 还使用 int 变量来指定滚动条的像素位置。

因此,您还必须考虑滚动 Pane 中每个渲染项目的高度。

因此,使用标准 Swing 组件的更合理的“理论”最大值将为 INTEGER.MAX_VALUE/render-row-height。

但是,我想您可以创建一个自定义滚动 Pane ,仅显示 block 中的项目。因此,当您滚动到一个 block 的末尾时,您会预加载下一个 block 。理论上,这将允许您在组合框中显示所有 INTEGER.MAX_VALUE 项。

我不知道“理论”最大项目数是否还有其他限制。

无论如何,我确信我们都同意,在达到“理论”最大值之前,组合框将变得无法使用。

关于java - JComboBox 是否有最大字段数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31817241/

相关文章:

java - swing 应用程序中线程 "AWT-EventQueue-0"java.lang.NullPointerException 中的异常

java - 一组中所有对的组合

java - 从 JcomboBox 获取参数

java - 如何在android中显示bmp图像

Java Swing - Jlabel ActionListener 不会打印选定的复选框

java - JScrollPane 中的 JComboBox

java - 处理多个 Action 监听器

java - 更改JComboBox的标签

java - 应用日志记录框架,对现有代码进行最少的更改

java - 如何使用 Java 和 Selenium2/Webdriver 在文本字段中输入明天的日期