我使用带有许多条目(数百个)的JComboBox。我想将其下拉列表的大小限制为屏幕的垂直大小。使用固定大小不会对不同的外观&感觉和屏幕分辨率,制定出正确的。如何防止JComboBox下拉列表超出垂直屏幕大小
我使用的Windows 7
的Java 6u25如果我设置的最大行数到超过其适应屏幕上的列表项(=行)数的值(例如100)(75) ,在下拉列表中似乎充满大小进行绘制,但最低的条目是不可见的。
下面是插图的截图(感谢@trashgod的SSCCE)。 sceenshot是在XP上的虚拟机中拍摄的。
我还测试了另一台PC上的代码,所以我想我可以排除一些驱动程序问题。
我喜欢的是一个下拉列表,适合在屏幕上,我可以完全滚动到最后一个值(并看到该值)。反过来,我想看到滚动条的向下滚动按钮。
是否可以在我的计算中呈现列表单元格并将其用于计算?操作组合框的高度参数不起作用。
任何想法如何解决这个问题?
让我感到困惑的是,我没有发现任何关于这个问题的任何参考。我认为我要么缺少明显的东西在这里或我使用了错误的关键字我的搜索。如果后两者中的任何一个,我的道歉请给我一个提示。
谢谢。
在Mac OS X,默认的'com.apple.laf.AquaComboBoxUI'从来没有超过垂直屏幕尺寸,它包括顶部和底部的滚动部件,如需要。您使用了什么[外观和感觉](http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/index.html)? – trashgod
我用相同的结果测试了Windows和Nimbus L&F,虽然Nimbus有更高的行数(对于Windows L&F来说,20 px而不是16),允许60行而不是75,而我的设置中有60行,垂直高度为1200)。但是关于我上面描述的问题,他们的行为是一样的。 – uhm
我觉得这说明很难相信。你可以用[SSCCE](http://sscce.org/)来备份吗? –