接受特定对象类型的JavaFX组

 2023-02-16    299  

问题描述

Javafx中是否有一种方法可以使Group扩展并将其限制为仅接受Shape对象的类别?

推荐答案

考虑创建包装类代替子类.

接受特定对象类型的JavaFX组

的线

public class ShapeGroup {

    private final Group group = new Group() ;

    public void addShape(Shape s) {
        group.getChildren().add(s);
    }

    public void removeShape(Shape s) {
        group.getChildren().remove(s);
    }

    // other methods you want to expose, implemented similarly...

    public Parent asParent() {
        return group ;
    }
}

现在您可以使用以下方式使用它:

ShapeGroup shapeGroup = new ShapeGroup();
shapeGroup.addShape(new Circle(50, 50, 20));
shapeGroup.addShape(new Rectangle(20, 20, 30, 30));
// ...
Scene scene = new Scene(shapeGroup.asParent());
// etc..

以上所述是小编给大家介绍的接受特定对象类型的JavaFX组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33835.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。