【问题标题】:Java ComboBox What controls where list will display?Java ComboBox 什么控制列表的显示位置?
【发布时间】:2009-10-21 11:51:44
【问题描述】:

这可能是一个奇怪的问题,但是如何更改我的 Java Swing 组合框显示其项目列表的方式?默认行为是列表显示在组合框下方。有时,当组合框在屏幕上较低时,列表会显示在组合框上方。有没有办法强制它始终显示在上方?如果我希望列表“弹出”并浮动在显示大于正常大小的表单上方怎么办?这些事情可能吗?

谢谢 ST

【问题讨论】:

  • 很高兴知道我浪费了时间在 Sun 论坛上讨论交叉帖子。那不会再发生了。此处给出的解决方案仅适用于单个 LAF。那里的解决方案适用于任何 LAF。

标签: java swing jcombobox


【解决方案1】:

弹出窗口的显示位置和大小不是由 JComboBox 本身决定的,而是由安装的外观决定的。您可以提供自己的外观和感觉,也可以通过覆盖javax.swing.plaf.basic.BasicComboBoxUI#createPopup() 来包装当前安装的外观,以提供您自己的javax.swing.plaf.basic.BasicComboPopup#getPopupLocation()javax.swing.plaf.basic.BasicComboPopup#computePopupBounds() 实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多