正确的图形参考方法



将(Graphics g)之外的其他参数传递给将对象绘制到gui的方法是个坏主意吗?例如,如果您有:

A a = new A()
paintComponent(Graphics g) {
  a.draw(g, something);
}
public class A {
  draw(Graphics g, Something something) {
    g.drawImage(something.getSomething(somethingElse), 0, 0, null);
  }
}

这合适吗?不知道为什么,但我觉得处理图形的方法应该简化为只处理图形,在这种情况下,"draw"方法必须放在"Something"类中,这样它就可以直接将必要的东西引用为字段或其他东西,而不需要额外的参数。

这取决于您尝试归档的内容。通常在绘制时,我会设置上下文/支持绘制方法,我想反复调用这些方法来构建最终的图像(思考图层),这允许我根据需要添加/删除图层;隔离每个部分。

例如,绘制高光。你通常不太关心外部环境,但需要知道如何应用

我也使用过painters,就像SwingX项目中的那些一样

只是我对主题的看法

如果"something"可以是a的一个属性或一组属性可能会更好,但如果它与对象没有任何关系,那么可能没有更好的方法来解决问题。

最新更新