将Void方法应用于Canvas对象

时间:2016-07-24 20:13:43

标签: java javafx-8

所有

我创建了一个PetCanvas类来处理宠物的ArrayList,每个宠物都有自己的draw方法。此draw方法为void,并接受GraphicsContext对象,该对象用于指定宠物的绘制方式。 GraphicsContext对象来自PetCanvas类,该类具有void方法sketchPet,该方法在列表中的每个宠物上调用draw。我想使用PetCanvas对象将GUI绘制到GUI,但编译器不允许我将PetCanvas.sketchPet添加到根目录,因为sketchPet不返回Node对象。有什么建议?或者确定解决方案所需的更多信息?

提前谢谢。

我开始认为问题出在这里:

public void sketchPets() {
    if (this.drawableList.size() == 0) {
        throw new IllegalArgumentException("The list has no animals to draw");
    }
    for (Drawable current : this.drawableList) {
        current.draw(this.getGraphicsContext2D());
    }
}

current.draw行在绘制后对GraphicsContext对象不起任何作用。如果是原因,我不确定如何解决这个问题。

0 个答案:

没有答案