我有一个小问题,当我想添加textField时, 按钮和标签到VBOX我有一个错误: ObservableList中的addAll()无法应用于:
在这个地方:vBox.getChildren()。addAll(textField,button,label);
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();
}
}
答案 0 :(得分:2)
这是因为您导入了AWT组件java.awt.Label
和java.awt.TextField
,而不是JavaFX组件javafx.scene.control.Label
和javafx.scene.control.TextField
。
答案 1 :(得分:0)
好好看看你的进口!
在图像中,您可以看到您使用了'awt'库中的TextField和Label而不是'javafx'库。 一定要改变它,看看它是否成功了!
(请注意。请在下次问题中发布完整的堆栈跟踪!)