javafxcombobox下拉从屏幕边缘出来

我有java(8_40)和javaFX的最新版本。

我有一个包含10个项目的复选框。 我编译并运行该程序。 如果我将程序窗口移动到监视器屏幕的底部,则下拉列表将从监视器屏幕中移出。 无法单击屏幕上的项目。

相反,如果我尝试使用场景构建器2.0执行相同的布局,请单击预览,自动移动下拉列表以不退出屏幕。

为什么正确显示场景构建器,而不是“编译和运行”?

问题是如果我通过代码做图形是如果我使用文件fxml。

我在下面放了一个小程序示例,它给了我这个错误:

组件CustomControl.java

public class CustomControl extends VBox { public CustomControl() { ComboBox asd = new ComboBox(); ObservableList 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),右侧弹出窗口自动移动(场景构建器)

在此处输入图像描述

看这个图像:

在此处输入图像描述

它很容易解决,只需更改可见的行数。