javafx 组合框下拉菜单从屏幕边缘出来
Posted
技术标签:
【中文标题】javafx 组合框下拉菜单从屏幕边缘出来【英文标题】:javafx combobox dropdown go out from the edges of the screen 【发布时间】:2015-05-21 13:04:55 【问题描述】:我有最新版本的 java(8_40) 和 javaFX。
我有一个包含 10 个项目的复选框。 我编译并运行程序。 如果我将程序窗口移动到监视器屏幕的底部,下拉列表将从监视器屏幕中消失。无法点击屏幕外的项目。
相反,如果我尝试使用场景构建器 2.0 进行相同的布局,请单击预览,下拉菜单会自动向上移动以不退出屏幕。
为什么使用场景构建器可以正确显示,而不是“编译并运行”?
如果我通过代码做图形,问题是一样的,如果我使用文件 fxml。
我在下面放了一个小程序示例,它给了我这个错误:
组件 CustomControl.java
public class CustomControl extends VBox
public CustomControl()
ComboBox<String> asd = new ComboBox<String>();
ObservableList<String> data = FXCollections.observableArrayList();
asd.setItems(data);
data.add("1");
data.add("2");
data.add("3");
data.add("4");
data.add("5");
data.add("6");
data.add("7");
data.add("8");
data.add("9");
data.add("10");
getChildren().add(asd);
Main.java
public class CustomControlExample extends Application
public static void main(String[] args)
launch(args);
String address = " ";
@Override public void start(Stage stage)
stage.setTitle("ComboBoxSample");
Scene scene = new Scene(new CustomControl());
stage.setScene(scene);
stage.show();
编辑:
左侧的屏幕截图弹出屏幕边框(eclipse) 同时,右侧的弹出窗口会自动移动(场景生成器)
【问题讨论】:
下拉菜单弹出屏幕监视器。无法点击不可见列表 有趣,我试过了,得到了和 Nicolò 一样的行为。测试系统是 OS X 10.9 + Java 8u40 或 SceneBuilder 2.0-b20,在嵌入式 Java 1.8.0-b132 上运行。我相信这是功能的回归。我建议filing a bug report。 似乎是Java 8 update 40
版本中的一个错误。我可以在 Ubuntu 14.04 + Java 8u40 中重现该问题。有趣的部分是我在 Java 8u25 上进行了尝试,并且运行良好。当底部没有足够空间时,弹出窗口会显示在组合框的顶部。
问题截图s2.postimg.org/yo1e6iwc9/aaaaaa.jpg
@Nicolò 我已经提交了bug report。您可以对其进行投票并密切关注它的更改和修复。 :)
【参考方案1】:
看这张图片:
很容易解决,只需更改可见行数即可。
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。 我发布链接是因为网站问我必须有 10 个声望 "很容易解决,只需要改变可见行数。".这不是现实世界的解决方案。以上是关于javafx 组合框下拉菜单从屏幕边缘出来的主要内容,如果未能解决你的问题,请参考以下文章
Tailwindcss 下拉项目飞到屏幕边缘而不是下拉按钮下方