トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2004-2-21

Java Tgif

JavaでTgif互換のドローツールを作りはじめてみた。
とりあえず、グリッドにあわせて、円や四角、ラインがかけるようなものが。
SL-C760での動作が可能なようにAWTのみで記述しているのですが、
Buttonクラスとか、ひさしぶりに使ってみると、いろいろ面倒。
Canvasクラスで自前でダブルバッファリング実装したりとか...
Swing使いたいよ〜。
ところで、とりあえずこんな実装をしてみた。

  1. データ毎に(円とか四角とか)一つ一つのオブジェクトを生成
  2. データ管理クラスで、それらオブジェクトをVectorで保持
  3. paintでの描画で、オブジェクトを取り出しつつ描画メソッドを実行

速度が心配だったものの、意外と実用的な速度で動作する。
が、しかし、だいたい10個くらいオブジェクトを生成すると、
SL-C760ではメモリ不足に。固まらないのは立派だな〜、とか。
今は、各データオブジェクトが、
描画メソッドや保存時のテキストデータなどをもっているため
サイズが大きくなってしまっているのが、あきらかに問題。
結構、きれいで大きなものの書きやすい実装方法だけれど、
動作しないのでは意味がない。
たくさん作るデータはシェイプアップさせないとな〜。