2010年1月4日月曜日

エディタ(JVerticalText)

エディタを作るに当たって考えることがいくつかあります。
  • データの持ち方
  • 書き込みキャレットと書き込まれた際の画面の書き換え
データに関しては、「行」をStringBufferとして持ち、 文章をLinkedListとして持つのがやっぱり順当だと思われます。1文字挿入する度に全メモリを操作するのはあんまり良いと思えませんし。
問題は、「行」を描画する際に、画面のどこを描画するべきかを考えなくてはならないこと。1文字挿入/削除する度に「行」が始まるところから描画を行い直し、直前の「行」の縦幅と違うようであれば、それ以前の行を全て見えているところに関しては描画し直すというのが順当かなぁ。
ちなみに、これに加えて日本語で描画を行う際にはIMEの未確定文字/変換文字/変換ウィンドウの位置をきちんと指定しないとおかしな位置にIMEのウィンドウが出る羽目になります。
けど、まずは縦書きで英語の文章を書くことを目指していきましょう。

NetBeaans Platformの勉強(1)

とりあえずの抱負を手に着けてみることに。
参考にしたのは以下のサイト。
とりあえず判ったことは以下。
  • NetBeans Platformは昔のMFCの「MDI」みたいなアプリをサポートするフレームワークらしい
  • プロジェクトを俯瞰するためのツリービューとじっさいのドキュメント(拡張して区別するらしい)を開くエディタを作れるらしい
  • じっさいのエディタはTopComponentをextnedしたもの
  • ファイルビューは提供されるっぽいのでSubversionのプラグインはそのまま使えそう
  • アプリの基本構造としてはSwingのJComponentを配置する
MDIのアプリを楽に作れるだけでもNetBeans Platformは有用ですね。
とりあえずはTopComponentはJPanelの一種らしいので、その中にJComponentを子として入れる形になると思われます。JTextとAPI互換の縦書きエディタを作るのがまずはやるべき事かな。

2010年1月3日日曜日

本年の抱負

あけましておめでとうございます。本年もよろしくお願いします。

本年の抱負としては以下を考えています。
  • NetBeansPlatformの習得
  • 縦書きJTextコンポーネントの作成
  • PDF/ODFエクスポート
まずは、NetBeansPlatformを習得するに当たってのログをこのブログに残す方針で考えています。その上でテキストエディタをどのようにして作るのかをゆっくり考えていきたいと思っています。
今年の末までに文学賞応募用のPDF/ODF/JavaPrintモジュールまでたどり着ければと思っておりますので、いい執筆環境を目指して進めていこうと思っています。

よろしくお願いします。