最近、サンプルプログラムを動かしたり、ちょっとしたシェルスクリプトを書く以外ではめっきりプログラミングをしなくなったので、リハビリをしようと思います。リハビリ目的なので、ある程度複雑な題材にチャレンジすることにします。ちょうど、前から作ろうと思っていた題材があるのでそれを作ることにします。今回作ろうと思うのは、JavaのSwing向けに方眼紙みたいなコンポーネントです。

SwingにはJTableというコンポーネントがありますが、ある程度複雑なことをしようとすると、とたんに破綻します。たとえば、それぞれの行にヘッダ(左端の列をヘッダとする)を付与したり、セルを結合したり、同一列内で複数のデータ型を扱うような場合です。これらの問題を解決するような新たなコンポーネントを作ることは、リハビリの題材として丁度規模的にも、難易度的にも丁度良さそうです。このような表のようなコンポーネントは、特に日本市場では成熟されたExcelによる業務システムが暗黙的な比較対象となることもあって機能的にも際限なくテーマが与えられますし、ユーザインタフェースとしては十分機敏に動かなければならないのでパフォーマンスチューニングや、ある種トリッキーなアルゴリズムを思い出すきっかけになりそうです。ひとまず、2〜3回ほど使い捨てのプロトタイプを作って実証実験をした後に、そこそこ形となるモノを仕上げてみたいと思います。