JavaFX VBox getChildren().addAll()错误
我有一个小问题,当我想添加文本字段时, 按钮和标签到VBOX i有错误: ObservableList中的addAll()不能应用于: 在此位置: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.
这是因为您导入了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();
}
}