JavaFX的问题

时间:2018-03-15 18:13:11

标签: java javafx

我正在学习Java教程,当我尝试按照代码收到此错误时

Access restriction: The method 'ObservableList<Node>.addAll(Node[])' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_131\lib\ext\jfxrt.jar')

在这一行

layout1.getChildren().addAll(label1, button1);

我编辑了访问规则,即使其他自由被定义并且有效,它仍然无法工作。有没有人有任何想法如何解决这个问题。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class test extends Application {

    Stage window;
    Scene scene1, scene2;

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

    @Override
    public void start(Stage primaryStage) {
        window = primaryStage;

        //Button 1
        Label label1 = new Label("Welcome to the first scene!");
        Button button1 = new Button("Go to scene 2");
        button1.setOnAction(e -> window.setScene(scene2));

        //Layout 1 - children laid out in vertical column
        VBox layout1 = new VBox(20);
        layout1.getChildren().addAll(label1, button1);
        scene1 = new Scene(layout1, 200, 200);


        //Button 2
        Button button2 = new Button("This sucks, go back to scene 1");
        button2.setOnAction(e -> window.setScene(scene1));

        //Layout 2
        StackPane layout2 = new StackPane();
        layout2.getChildren().add(button2);
        scene2 = new Scene(layout2, 600, 300);

        //Display scene 1 at first
        window.setScene(scene1);
        window.setTitle("Title Here");
        window.show();
    }


    }

}

0 个答案:

没有答案