使用 JavaFX- 无法添加全部(文本字段、文本区域、字符串)。我不应该吗?
Using JavaFX- Cannot addAll(Text field, Text area, String). Shouldn't I be able to?
我的代码:
public class Main extends Application {
TextArea area = new TextArea();
TextField field = new TextField();
String text = "";
public void start(Stage primaryStage){
VBox pane = new VBox();
Button next = new Button("Next");
next.setOnAction(e->{
text+= "\n" + field.getText();
area.setText(text);
});
pane.getChildren().addAll(area,field,next);
Scene scene = new Scene(pane, 700, 300);
primaryStage.setTitle("CosmicWimpout");
primaryStage.setScene(scene);
primaryStage.show();
}
错误在 .addAll
,错误内容为:
The method addAll(int, Collection<? extends Node>) in the type List<Node> is not applicable for the arguments (TextArea, TextField, String).
所以我刚刚编辑了 post 以包含 .addAll(area, field, next)。这些都是 GUI 节点,但是 the.addAll 方法不接受这些参数。
正如@sillyfly 已经指出的那样,pane
属于 VBox
类型,它是 Parent
的子类型。子列表上的方法 getChildren
will return an ObservableList
of type Node
. Therefore the method addAll
将采用 Node
类型的可变参数作为参数。 String
显然不是 Node
.
类型
您要导入什么类?对我来说,导入时出现错误:
import java.awt.Label;
而不是:
import javafx.scene.control.Label;
这通常发生在您的 IDE 自动为您导入 类 时。有时您应该考虑手动输入它们。
我的代码:
public class Main extends Application {
TextArea area = new TextArea();
TextField field = new TextField();
String text = "";
public void start(Stage primaryStage){
VBox pane = new VBox();
Button next = new Button("Next");
next.setOnAction(e->{
text+= "\n" + field.getText();
area.setText(text);
});
pane.getChildren().addAll(area,field,next);
Scene scene = new Scene(pane, 700, 300);
primaryStage.setTitle("CosmicWimpout");
primaryStage.setScene(scene);
primaryStage.show();
}
错误在 .addAll
,错误内容为:
The method addAll(int, Collection<? extends Node>) in the type List<Node> is not applicable for the arguments (TextArea, TextField, String).
所以我刚刚编辑了 post 以包含 .addAll(area, field, next)。这些都是 GUI 节点,但是 the.addAll 方法不接受这些参数。
正如@sillyfly 已经指出的那样,pane
属于 VBox
类型,它是 Parent
的子类型。子列表上的方法 getChildren
will return an ObservableList
of type Node
. Therefore the method addAll
将采用 Node
类型的可变参数作为参数。 String
显然不是 Node
.
您要导入什么类?对我来说,导入时出现错误:
import java.awt.Label;
而不是:
import javafx.scene.control.Label;
这通常发生在您的 IDE 自动为您导入 类 时。有时您应该考虑手动输入它们。