我是JavaFX的新手。我自己学习JavaFX。我正在使用Eclipse运行我的代码。我了解到,Group类的getChildren()方法为您提供了一个ObservableList类的对象,该对象包含节点。但是在Eclipse中,ObservableList用黄色下划线标出,我无法运行我的代码。我只是想使用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);
}
}
答案 0 :(得分:0)
您在这里所做的就是使用Java的自动类型擦除。
ObservableList定义为:
public interface ObservableList<E> extends List<E>, Observable {
<E>
是元素的通用类型。因此,如果像您这样拥有一个ObservableList来保存Nodes,那就是:
ObservableList<Node> foo = Root.getChildren()
您的IDE告诉您,通过省略类型参数,您实际上拥有ObservableList<Object>
,这不是错误,但在这种情况下可能不是您想要的。