我有一个可编辑的 JComboBox
其中包含一个单字母值列表。因此组合框非常小。
每个字母都有特殊的含义,在很少使用的字母的情况下,用户有时不清楚。因此,我创建了一个自定义 ListCellRenderer
显示下拉列表中每个字母的含义。
不幸的是,这个解释不适合下拉列表,因为它太小了,因为它与组合框的宽度相同。
有什么办法可以使下拉列表比组合框宽?
这就是我想要实现的目标:
---------------------
| Small JCombobox | V |
--------------------------------------------
| "Long item 1" |
--------------------------------------------
| "Long item 2" |
--------------------------------------------
| "Long item 3" |
--------------------------------------------
我无法更改组合框的宽度,因为该应用程序是对旧遗留应用程序的重新创建,其中某些内容必须与以前完全相同。 (在这种情况下,组合框必须不惜一切代价保持它的小尺寸)
原文由 Daniel Rikowski 发布,翻译遵循 CC BY-SA 4.0 许可协议
我相信使用公共 API 执行此操作的唯一方法是编写自定义 UI(有 两个 错误 处理此问题)。
如果您只是想要一些快速而肮脏的东西,我发现这种方法可以使用实现细节来完成( 此处):
把它放在
PopupMenuListener
中,它 可能 对你有用。或者您可以使用 第一个链接错误 中的代码: