Headline About TechLog Download Java VBA Link


June 25, 2007. Monday.

Visual Editor

Visual EditorはEclipse上で動作するGUI編集用プラグインです。デフォルトでGUI編集機能をもたないEcilpseのユーザにとって他の選択肢はほとんどなく、期待の星にして最後の砦ともいえます。Visual EditorはもともとIBMが商用に開発した物であるためフリーとはいえ、非常に高機能です。



Visual Editorの素晴らしい点

扱えるGUI種別がSwing, SWT, AWTと豊富です。また、SwingのLayout系の対応が優秀です。多くの古いIDEがLayoutManager = nullでのレイアウトにしか対応していなかったのに対し、VEの最新版はGridBagLayoutにも対応しています。右クリックベースで様々な編集が可能で、軽快な作業が可能です。細かいことのようですが、画面構築にちゃんとSwingUtilのinvokeLaterを使っている点は高く評価できるでしょう。



Visual Editorのいまひとつな点

精製するコードがやや冗長です。また、編集しているうちに同じコードが何行も並んだり、使わないインポート文が残ったりと、ごみが残りやすいように思います。生成されるコードはやや難解で、GUI部品がリソースファイルというブラックボックスに閉じこめられるVCやコードを覗く必要があまりないVBに比べ敷居は高いでしょう。あくまで「ソースコードベースでGUIを構築できる人」向きの編集機能だと思います。



Visual Editorのソースコード設計思想について

ボタンなどの精製にわざわざgetterを作成し、getの際にインスタンスがnullならnewするなど、Singleton的な設計となっており(厳密なSingletonではありません)、単純な画面の構築時にはソース構造がややオーバースペックです。しかしながらこれは画面が複雑で動的に表示状態を変更する必要がある場合など、状況によっては非常に利益の有る設計です。

一方、イベント処理に関しては無名クラス方式を採用しています。イベントリスナへのif文の羅列に抵抗を感じる人も居るため賛否両論ではありますが、この設計に対しては批判が多いようです。イベント追加時に「リスナの選択」のような選択肢を設け、イベントIDを入力すると自動的にif文が構成されたりすると素晴らしいのですが。ただし「MVC分離に対する障害だ」とまでの評価はいささかいきすぎでしょう。コネクタクラスなりインタフェイスなりを自作すれば解決できる話です。ただしbaristaは無名クラスは嫌いです。完全に個人的な好みの問題ですが。


そんなわけで、Visual Editorは以下のような人に向くと考えられます。

■ 上記のような設計上の思想を理解した上でリファクタリングの可能な人。

■ 最初に画面を一気に精製し、途中からはVisual Editorを使わないという人。

■ 内部の設計なんて何でも良いからいそいで画面の作りたい人


以上のどれかに当てはまる人は、Visual Editorで利益が得られると思います。次章以降ではインストールの仕方、簡単な使い方などについて説明していきます。



Next: Visual Editorのdownloadとinstall >>