import javafx.application.Application; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.scene.Scene; public abstract class FXTest1 extends Application { @Override public void start(Stage primaryStage){ Button btn = new Button(); btn.setText("Click me"); StackPane rootNode=new StackPane(); rootNode.getChildren().add(btn); primaryStage.setTitle("JavaFX Application"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
时间: 2024-01-30 14:02:41 浏览: 333
明日知道.zip项目JAVA源码+资料打包下载
这段代码中的一个错误是缺少了一个场景对象。在start()方法中,我们应该创建一个场景对象,将根节点设置为我们刚刚创建的StackPane容器,并将场景对象传递给主舞台。
正确的代码应该是这样的:
```
import javafx.application.Application;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.Scene;
public abstract class FXTest1 extends Application {
@Override
public void start(Stage primaryStage){
Button btn = new Button();
btn.setText("Click me");
StackPane rootNode=new StackPane();
rootNode.getChildren().add(btn);
Scene scene = new Scene(rootNode, 300, 250); // 创建场景对象
primaryStage.setTitle("JavaFX Application");
primaryStage.setScene(scene); // 将场景对象设置为主舞台的场景
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
阅读全文