Java 当windows失去焦点时,JComboBox保持打开状态

Java 当windows失去焦点时,JComboBox保持打开状态,java,swing,jcombobox,Java,Swing,Jcombobox,我的任务是将一个带有JComboBox的java应用程序从OS2移植到Windows OS2(JRE1.4)中的JComboBox有一个行为,即当弹出窗口打开时,用户单击其他窗口,弹出窗口保持打开状态。但当在Windows(JRE1.6)中运行时,用户单击其他窗口,JComboBox将自动关闭 如何在Windows中实现相同的行为?我要它一直开着 不可能,jcomboboxs弹出窗口始终隐藏在focusLost上,这些 必须创建自己的组件,从JComboBox模拟功能,弹出窗口应基于JDialo

我的任务是将一个带有JComboBox的java应用程序从OS2移植到Windows

OS2(JRE1.4)中的JComboBox有一个行为,即当弹出窗口打开时,用户单击其他窗口,弹出窗口保持打开状态。但当在Windows(JRE1.6)中运行时,用户单击其他窗口,JComboBox将自动关闭

如何在Windows中实现相同的行为?我要它一直开着

  • 不可能,
    jcombobox
    s弹出窗口始终隐藏在
    focusLost
    上,这些

  • 必须创建自己的
    组件
    ,从
    JComboBox
    模拟功能,
    弹出窗口
    应基于
    JDialog/JWindow
    (强烈建议不要…)


  • 谢谢您认为如果使用旧java版本的JComboBox源代码,它会工作吗?在哪里可以找到?我只能找到最新的一个…@Johnny有两个先决条件,在JDK1.4中编译Java代码,并在PC上运行,那里是顶级的JVM Java1.4,这不值得努力,一个很好的替代方法是使用Java日历,弹出窗口(大多数)基于JDialog/jWindow最后,我制作了一个自定义组件继承JComboBox,将其所有鼠标/按键处理程序showPopup/hidePopup替换为my own,以显示/隐藏自定义JList。这不是一个优雅的解决方案,但可以使用最少的编码。