Почему ObservableList подчеркнут? - PullRequest
0 голосов
/ 20 апреля 2019

Я новичок в JavaFX.Я изучаю JavaFX самостоятельно.Я использую Eclipse для запуска своих кодов.Я узнал, что метод getChildren () класса Group предоставляет вам объект класса ObservableList, который содержит узлы.Но ObservableList в Eclipse подчеркнут желтым, и я не могу запустить свой код.Я просто пытаюсь создать очень простое приложение, используя JavaFX

Это мой код

{
    public void start(Stage primaryStage) throws Exception
    {
        Text welcome = new Text("Welcome To JavaFX");
        welcome.setFont(new Font(45));
        welcome.setX(45);
        welcome.setX(150);

        Group Root = new Group(welcome);
        ObservableList list = Root.getChildren();
        list.add(welcome);

        Scene scene = new Scene(Root,600,300);
        scene.setFill(Color.GREY);

        primaryStage.setTitle("Sample Application");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
    public static void main(String[]args)
    {
        launch(args);
    }
}

Picture of my Code underlined in Yellow

1 Ответ

0 голосов
/ 21 апреля 2019

То, что вы там сделали, - это автоматическое стирание типов в Java.

ObservableList определяется как:

public interface ObservableList<E> extends List<E>, Observable {

<E> - это общий тип элементов. Так что если у вас есть ObservableList, содержащий Nodes, как в случае с вами, это будет:

ObservableList<Node> foo = Root.getChildren()

Ваша IDE сообщает, что, пропуская параметр type, вы по существу получаете ObservableList<Object>, который не является ошибкой, но, вероятно, не тем, что вы хотите в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...