JavaFx不允许我setText()或add(),(仅添加节点)

时间:2019-05-18 22:15:18

标签: eclipse javafx

我正在尝试构建一个简单的gui,并且我很确定自己已经正确设置了构建路径(来自youtube vid),但是不允许我使用'.setText()'或'.add() ',但是它允许我在舞台上使用'.setTitle()'?

我尝试使用ctrl + space建议,但是它只为我提供“节点(布尔)”或节点(int索引,节点元素)。

    package application;

    import java.awt.Button;
    import javafx.application.Application;
    import javafx.stage.Stage;
    import javafx.scene.Node;
    import javafx.scene.Scene;
    import javafx.scene.layout.StackPane;

    public class Main extends Application {

public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) throws Exception {
    // TODO Auto-generated method stub
    primaryStage.setTitle("this is a stage");

    Button button;
    button = new Button("click me");

    StackPane layout = new StackPane();
    layout.getChildren().add(button);
    primaryStage.show();
}
    }

错误:“列表类型中的方法add(Node)不适用于参数(按钮)”

但是,如上所述,唯一的选择是节点吗?

1 个答案:

答案 0 :(得分:3)

您必须在舞台内添加一个场景。舞台只是容纳场景的容器,其中包含场景图(按钮,标签等)。添加您制作的布局 作为这样的场景中的根节点

Scene scene = new Scene(layout);
stage.setScene(scene);