JavaFX,外部类扩展窗格,将其添加到主类并不起作用

时间:2017-07-24 18:45:13

标签: java javafx

JavaFX主类:

public class Test1 extends Application {

    @Override
    public void start(Stage stage) throws Exception {

       Pane sp = new Pane();
       SubClass sc = new SubClass();
       sc.c.setFill(Color.AQUA);
       sp.getChildren().add(sc);
       Scene scene = new Scene(sp, 250, 250);
       stage.setTitle("Testing");
       stage.setScene(scene);
       stage.show();
    }


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

}

这是我的另一个课程:

public class SubClass extends Pane
{   
   Circle c = new Circle(100.0f,100.0f,100.0f);
}

但我不会看到我的圈子出现在我的输出中的任何地方。我的输出完全空白。有人能指出我做错了什么吗?

这是我的输出窗口:

enter image description here

1 个答案:

答案 0 :(得分:2)

所有子类都会创建圆圈。它无法在任何地方将其添加到窗格中。要将其添加到窗格,您需要在某处调用getChildren().add(...);例如在构造函数中:

public class SubClass extends Pane {   

   Circle c = new Circle(100.0f,100.0f,100.0f);

   public SubClass() {
        getChildren().add(c);
   }

}