0

将除 (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”类中,这样它就可以直接引用必要的东西作为一个字段或没有额外参数的东西。

4

2 回答 2

1

这取决于您尝试存档的是什么。通常在绘制时,我会设置我想要重复调用的上下文/支持绘制方法以构建最终图像(想想层),这允许我根据需要添加/删除层并隔离每个部分。

例如,绘画亮点。您通常不太关心外部环境,但需要知道如何应用它们

我也painters像 SwingX 项目中那样使用过

只是我对这个问题的看法

于 2012-07-25T09:26:16.147 回答
0

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

于 2012-07-25T08:33:04.663 回答