gpt4 book ai didi

java - 具有 BorderPane 的应用程序不显示简单按钮

转载 作者:行者123 更新时间:2023-12-01 08:58:24 24 4
gpt4 key购买 nike

对 JavaFX 非常陌生,我正在关注 simple tutorial here我创建了一个新的 JavaFX 项目,但它默认有一个 BorderPane,而不是教程中所说的 StackPane,所以我将其留在那里。该应用程序上只有一个按钮,如果我使用 BorderPane,则不会显示该按钮。如果我将其更改为 StackPane,则会显示该按钮。考虑到由于某种原因 BorderPane 剪掉了某些内容,我将应用程序窗口设置为全尺寸,但我仍然看不到按钮。以下是不显示按钮的 BorderPane 代码:

package application;



import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;


public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setTitle("This is a test!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {

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

}
});
root.getChildren().add(btn);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
launch(args);
}
}

有什么想法吗?

最佳答案

查看有关 BorderPane 的文档:

BorderPane lays out children in top, left, right, bottom, and center positions.

因此您需要使用以下内容:

borderPane.setTop(toolbar);
borderPane.setCenter(appContent);
borderPane.setBottom(statusbar);

在您的情况下 root.getChildren().add(btn); 应该是例如 root.setCenter(btn);

关于java - 具有 BorderPane 的应用程序不显示简单按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41883405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com