Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java组合框什么控件列表将显示在哪里?_Java_Swing_Jcombobox - Fatal编程技术网

Java组合框什么控件列表将显示在哪里?

Java组合框什么控件列表将显示在哪里?,java,swing,jcombobox,Java,Swing,Jcombobox,可能是一个奇怪的问题,但我如何才能更改Java Swing组合框显示其项目列表的方式?默认行为是在组合框下方显示列表。有时,当组合框在屏幕上的位置较低时,列表会显示在组合框的上方。有没有办法强迫它始终显示在上面?如果我想让列表“弹出”并浮在显示大于正常大小的表单上方,该怎么办?这些事情可能吗 谢谢 ST弹出窗口的显示位置和大小不是由JComboBox本身决定的,而是由安装的外观决定的。您可以通过覆盖javax.swing.plaf.basic.BasicComboxUI#createPopup(

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

谢谢
ST

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

很高兴知道我在Sun论坛上浪费了时间在横杆上。这种情况不会再发生了。这里给出的解决方案仅适用于单个LAF。那里的解决方案对任何LAF都有效。