0

オブジェクトを GUI に描画するメソッドに (Graphics g) 以外のパラメータを渡すのは悪い考えですか? たとえば、次の場合:

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);
  }
}

これは適切ですか?理由はわかりませんが、グラフィックスを処理するメソッドは、グラフィックスのみを処理するように合理化する必要があるように感じます。その場合、「描画」メソッドを「何か」クラスに配置して、必要なものをフィールドとして直接参照できるようにする必要があります。または余分なパラメーターのないもの。

4

2 に答える 2

1

それはあなたがアーカイブを試しているものに依存します。多くの場合、苦痛を感じるときは、最終的な画像を構築するために繰り返し呼び出すコンテキスト/サポートペイントメソッドを設定します(レイヤーを考えます)。これにより、必要に応じてレイヤーを追加/削除したり、各部分を分離したりできます。

たとえば、ハイライトをペイントします。あなたは一般的に外部の文脈についてはあまり気にしませんが、それらがどのように適用されるかを知る必要があります

私もpaintersSwingXプロジェクトのように使用しました

このテーマについての私の考え

于 2012-07-25T09:26:16.147 に答える
0

「何か」が A のプロパティまたはプロパティのセットである場合はおそらくより良いですが、それがオブジェクトにまったく関係がない場合は、問題を解決するためのより良い方法はおそらくありません.

于 2012-07-25T08:33:04.663 に答える