JavaFX VBox getChildren().addAll()错误

JavaFX VBox getChildren().addAll()错误,java,javafx,Java,Javafx,我有一个小问题,当我想添加文本字段时, 按钮和标签到VBOX i有错误: ObservableList中的addAll()不能应用于: 在此位置:vBox.getChildren().addAll(文本字段、按钮、标签) 这是因为您导入了AWT组件java.AWT.Label和java.AWT.TextField,而不是JavaFX组件JavaFX.scene.control.Label和JavaFX.scene.control.TextField,这是因为您导入了AWT组件java.AWT.

我有一个小问题,当我想添加文本字段时, 按钮和标签到VBOX i有错误: ObservableList中的addAll()不能应用于:

在此位置:vBox.getChildren().addAll(文本字段、按钮、标签)


这是因为您导入了AWT组件
java.AWT.Label
java.AWT.TextField
,而不是JavaFX组件
JavaFX.scene.control.Label
JavaFX.scene.control.TextField
,这是因为您导入了AWT组件
java.AWT.Label
java.awt.TextField
而不是JavaFX组件
JavaFX.scene.control.Label
JavaFX.scene.control.TextField
仔细查看您的导入

在图中,您可以看到您使用了“awt”库中的文本字段和标签,而不是“javafx”库中的文本字段和标签。 一定要改变这一点,看看它是否奏效


(请注意,下次在您的问题中发布完整的stacktrace!)

仔细查看您的导入

在图中,您可以看到您使用了“awt”库中的文本字段和标签,而不是“javafx”库中的文本字段和标签。 一定要改变这一点,看看它是否奏效

(注:下次请在您的问题中发布完整的stacktrace!)

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        BorderPane layout = new BorderPane();

        Scene scene = new Scene(layout, 400, 200);

        TextField textField = new TextField();
        Label label = new Label("Average: 0.0");

        Button button = new Button("Przycisk");
        button.setOnAction(event -> {
            String textFromTextField = textField.getText();
            String[] splittedText = textFromTextField.split(",");
            double average = 0.0;
            for (String s: splittedText) {
                average += Double.parseDouble(s);
            }
            average /= splittedText.length;
            label.setText("Average: " + average);
        });

        VBox vBox = new VBox();
        vBox.getChildren().addAll(textField, button, label);
        vBox.setAlignment(Pos.CENTER);
        vBox.setSpacing(10);

        layout.setCenter(vBox);

        primaryStage.setScene(scene);
        primaryStage.setTitle("App");
        primaryStage.show();
    }
}