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

标签 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

最佳答案

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

public class SubClass extends Pane {   

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

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

}

关于JavaFX,外部类扩展 Pane ,将其添加到主类不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45287874/

相关文章:

java - 协助构建具有多个类别的体育游戏

java - 无法解析值 'message' 中的占位符 "${message}"

java - 如何更改 JavaFX 2.0 中的插入符颜色?

java - 使用另一个类的 JavaFX 媒体播放器播放音频文件

java - 事件处理程序有编译错误 : "local variables referenced from a lambda expression must be final"

java - 如何在 JFrame 的 paint() 函数之外绘制图形

java - 如何解决错误 : Java class cannot be instantiated in XML layout in android?

JavaFX 2.2 与 native bundle (exe)的问题

CSS 样式在 javafx 中导出的可运行 jar 中不起作用

java - Android 应用程序 VM 何时退出?