java - 如何在 JavaFX 中设置按钮的坐标?

标签 java button javafx

 public void start(Stage primaryStage) {
    primaryStage.setTitle("Hello World!");
    ScrollBar sc = new ScrollBar();
    sc.setMin(0);
    sc.setMax(100);

    Button btn = new Button();
    btn.relocate(150, 100);
    btn.setText("Launch Keyboard lights");
    btn.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
            System.out.println("Hello World!");
        }
    });

    StackPane root = new StackPane();

    root.getChildren().add(btn);
    root.getChildren().add(sc);

    primaryStage.setScene(new Scene(root, 300, 250));
    primaryStage.show();
}

我尝试使用 btn.setXlayout 和 y,但它也不起作用。我认为这是因为 (new Scene(root, 200, 250)); 的根但我应该写什么才能让按钮进入新位置?

最佳答案

StackPane 可能不是您想要的 - 它用于将控件堆叠在彼此之上(z 轴),但控件本身根据 Alignment 定位StackPane 属性。

您可能正在寻找类似 AnchorPane 的东西,它允许您将控件锚定到 Pane 的一侧或多侧。或者,您可以使用 JavaFX 中提供的许多其他布局 Pane 之一,具体取决于您想要实现的布局。

看看this tutorial了解各种可用的布局 Pane 。另外,您可能想尝试一下 Scene Builder至少对于原型(prototype)设计来说是这样。

关于java - 如何在 JavaFX 中设置按钮的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35187978/

相关文章:

ios - 删除以编程方式创建的 View iOS

JavaFX:创建具有泛型类型的动态 TableView

javafx - javaFx是否有可用的日期和时间选择器?

java - 不指定类路径时,默认的类路径是什么?

swift - 单击触发打开另一个 VC 的按钮时如何将按钮 sender.tag 传递给另一个 VC

java - 在 Java 中创建一个二维对象数组

html - 圆形按钮之间的水平线

javafx-2 - Javafx 组合框样式

java - Hibernate:是否可以只保留一个 child ,这也会导致 parent 的坚持

java - 将 ArrayList 保存到文本文件时出现 NotSerializedException