-1

javaでグラフィックスを描画するためのベストプラクティスまたは標準は何ですか? Jpanel と Polygon(shape) を含む Class(foo) を持つ Jframe があります。クラスの形状を表示したい場合は、foo.draw を呼び出して (graphics2d と他のいくつかのものを渡します)、それ自体を描画する必要があります (これはカプセル化だと思いますか? どちらが好ましいと思いますか?) またはすべての描画を行う必要があります私の drawScreen() メソッド内で?

ありがとうございました

4

1 に答える 1

1

Foo がラベルやボタンなどの他のグラフィックスとオーバーラップしてはならない場合は、必ず自分自身を描画する必要があります。JComponent を拡張し、paintComponent() を実装し、LayoutManager などを使用して追加することをお勧めします。

Foo が他のグラフィックスとオーバーラップできる場合 (たとえば、宇宙ゲームで、ポリゴンが地球に向かって急速に移動する小惑星である場合)、事態はさらに複雑になります。Foo が自分自身を Graphics に描画する方法を知っているのが最善だと思いますが、JComponent を拡張したくない場合があります。

オプション 1: JComponent を拡張し、paintComponent を実装します。ただし、これは「実際の」JComponent ではなく、LayoutManager を使用して追加されないことに注意してください。これを防ぐために addNotify() を変更して例外をスローすることもできます。

オプション 2: Foo に Icon を実装させる - 軽量な描画のための素敵な小さなインターフェイス。

これはまだ疑問を投げかけています。それ自体を描画するには、別の何かがそれを伝える必要があります。したがって、これらの JComponents または Icons のリストを保持し、それらに描画するように指示する必要があります...

于 2013-01-06T19:01:43.623 に答える