- ベストアンサー
図形の作り方
図形のオブジェクトを作るにはどうすればよいでしょうか?(表現がおかしいかもしれませんが) イメージとしては、始点や終点などを指定し直すとその場所に再描画されて移動したように見える感じなんですが、どのクラスをどう拡張すればよいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>どのクラスをどう拡張すればよいのでしょうか? 一言で言えば、 ShapeインターフェースをGeneralPathでコンポジション実装し、 描画用JPanelに用意したListに図形をaddしていき、paintComponentで描画する ということになります。 その図形オブジェクトのクラスに ジオメトリ情報(大きさ,線幅,縮尺,回転角等)と、 アピアランス情報(線色,塗りつぶし色,テクスチャパターン等) を持たせます。そして、そこに MouseEnteredEvent, MousePickedEvent, 図形同士の衝突イベント 等を追加していくことになります。 Java3Dは、図形をオブジェクトとして扱っていますので、それを参照するのも 良いかもしれませんが、残念ながらあまり良い参考書がありません。 そして、Java3Dは、描画までの手続きを1つでも忘れてしまうと何も描画されませんので デバッグも非常に厄介で、参考程度に見てみるにしては敷居が高いという難点もあります。 (描画部分よりも手続きのコードが大部分を占めるので、本質を見分けにくくなっています) 時間が有るようでしたら、それを参考にされるのも1つの方法かと思います。 私自身も、過去に同様な実装を行ったことがありますので、具体的にご質問頂ければ より実践的な回答も可能かもしれません。
お礼
もう少し簡単にできるとタカをくくっていたのですが…。 少し試してみたのですが自分の知識では厳しく、具体的に質問できるようなところまで到達できませんでした。 しかし、Java3Dをご紹介いただいたのでそちらのほうも試してみようと思います。簡単な図形なので本のサンプル等で解決するかもしれません。 回答ありがとうございました。