2009/08/18

SwingBuilderでGroupLayoutを使ってみる。

Java6で追加されたGroupLayout(Matisse)をSwingBuilderから使ってみたらどうなるか、試してみました。
元ネタは、LayoutManagerShowdownGroupLayoutからです。
スクリプトはhttp://www.tobikkiri.org/files/groovy/GroupLayoutDemo.groovyに置きました。

GroupLayoutでは、Swingでの一般的なレイアウトマネージャとはレイアウトの指定方法が異なり、縦方向のレイアウトと横方向のレイアウトを別々に指定します。SwingBuilderでは、普通ならばレイアウトの指定を部品の作成時に指定しますので、2カ所以上のレイアウト指定には対応できません。
今回の例では、部品は一旦idを振って(もしくは変数に設定して)作成した後で、Swingでの方法と同じ様にしてレイアウトマネージャに設定する様にしました。あまり綺麗ではありませんが、仕方が無いですね。

GroupLayoutをSwingBuilderで利用する為には、もう一つ問題があります。
GroupLayoutのコンストラクタには、必ず引数としてコンテナが必要となりますが、SwingBuilderで通常使うLayoutFactoryではコンストラクタに引数を指定する事ができません。
これを解決する為に、引数を指定できる様にLayoutFactoryを拡張した、TargetLayoutFactoryを作成してみました。

今回のネタは、GroovyのMLのこれを参考にしました。

今後、LayoutManagerShowdownの中から、幾つかSwingBuilderで書き換えてみたいと思います。

ラベル: , , , , ,

2009/08/03

Groovy Eclipseプラグインの新バージョン

Groovyの1.6.4と1.7-beta1が公開になっていました。
http://groovy.codehaus.org/Download

同時に、Eclipse用プラグインの新バージョン(V2)のプレビュー版が公開されました。
http://groovy.codehaus.org/Eclipse+Plugin


SpringSourceのBlogはこちら

Mac上でEclipse3.5にインストールしてみましたが、プロジェクトの新規作成でGroovyプロジェクトが作成できますし、今までの様にGroovyメニューから"Add Groovy Nature"しなくて済む様になっています。JavaプロジェクトにGroovyの環境を追加する事もできる(こちらはGroovyメニューで"Add Groovy Nature")そうです。

これでGroovy開発の入り口が低くなると良いですね。

ラベル: , , ,

2009/07/16

jEditをGroovyの開発環境にしてみる

今回、jEditを入れた理由は、Groovyの開発環境として使えるかどうか?を確認する為です。
編集はGroovyモードが標準でインストールされますので、後はスクリプトを実行できる様にプラグインをインストールして設定します。

方法は幾つかあります。http://groovy.codehaus.org/JEdit+Pluginを参照しながら設定します。

1. Groovy Script Engine Pluginプラグインを使う(javax.script経由)
これは簡単です。jEditのPluginsメニューからPlugin Managerを選択し、ウインドウのinstallを選択して現れた一覧からGroovy Script Engine Pluginをインストールします。必要なpluginは同時にインストールされます。
現在表示中のスクリプトを実行するには、Pluginsメニュー>Script Engine Plugin>Evaluate Bufferを選択します。
しかし、、、私の環境では例外が出て試せませんでした。

2. SuperScriptプラグインを使う(ApacheのBSF経由)
SuperScriptでは、ApacheのBSF経由でスクリプトを実行しますが、標準ではGroovyスクリプトを実行する設定がありません。ですので、BSFからGroovyスクリプトを実行できるように設定を記述します。
次のスクリプトをstartup.bshというファイル名で、ライブラリフォルダ内のjEdit/startup内に(~/Library/jEdit/startup)作成します。

/* add Groovy */
org.apache.bsf.BSFManager.registerScriptingEngine(
"groovy","org.codehaus.groovy.bsf.GroovyEngine",new String[]{"groovy","gv"}
);

これでBSFからGroovyスクリプトを実行できるようになりましたので、jEditの再起動後Plugin ManagerからSuperScriptプラグインをインストールします。
現在表示中のスクリプトを実行するには、Pluginsメニュー>SuperScriptを選択してSuperScriptを表示させた後、コンボボックスからgroovyを選択してExecute Scriptボタンを押します。

3. Consoleプラグインを使う(Console Commandoでgroovyをコマンド実行)
まず、Plugin ManagerからConsoleプラグインをインストールします。次に、上で挙げたページでは「wikiに添付されているgroovy.xmlをコピーする」と書いてありますが、、、このファイルがありません。
こちらのページにある様に、次に書いてある内容を元にgroovy.xmlをライブラリフォルダ内のjEdit/console/commando内に(~/Library/jEdit/console/commando)作成します。


42行にgroovyの実行パスを記述している部分がありますが、これは各自の環境に合わせます。
その後、Pluginsメニュー>Console>Regen dynamic menusを選択して設定を更新ます。
最後に、Pluginsメニュー>Plugin Optionsを選択してプラグインのオプション設定を表示します。この中で左側のツリーからPlugins>Console>Compile & Runを選択すると、各モードに対してのコンパイルと実行の設定が現れます。この中からgroovyモードを探し出して、コンパイル・実行両方についてコンボボックスからgroovyを選択して保存します。
現在表示中のスクリプトを実行するには、Pluginsメニュー>Console>Commandoを選択するとダイアログが表示されますので、OKボタンを押すとスクリプトが実行されます。

私のおすすめは、2.のSuperScriptプラグインを使う方法です。

ラベル: , , ,

2009/07/15

jEditをMacに導入、その2(Emacsっぽく使うためのキー設定)

次は、Emacsっぽく使うためのキー設定を行います。

jEdit Emacs Emulation Packageというのがありますので、これをインストールします。
zipファイルを以下からダウンロードします。
http://www.clapper.org/software/jedit/download.shtml
zipファイルを展開するとEmacsフォルダができます。

インストールとしては、Emacsフォルダを自分のライブラリフォルダ内のjEdit/macros内に(~/Library/jEdit/macros)移動し、Emacsフォルダ内にあるstartupフォルダをライブラリフォルダ内のjEdit内に(~/Library/jEdit)移動(すでにフォルダがある場合は、フォルダ内のファイルをコピー)しますが、、、そのままではjEditの起動時にエラー(例外)が表示されて失敗します。

これは、bsh(BeanShell)ファイル内にあるprint()が原因で発生しますので、これをコメントアウトする必要があります。
変更するのは、startupフォルダ内のemacs_bindings.bshとmacros/Emacsフォルダ内のEmacs_Set_Keybindings.bshになります。print()が書いてある部分をコメントアウト(Javaなどと同じく先頭に//を付加)します。

これで最低限エディタとして、使用できると思います。

ラベル: , ,

jEditをMacに導入、その1(インストールと起動時設定)

最初に、jEditをインストールして起動時の設定を行います。

まずは、jEditのページからアプリケーションをダウンロードします。
http://www.jedit.org/index.php?page=download
Latest Version(Development)を使って問題ありません。Mac OS X Packageをダウンロードします。
ダウンロードしたファイルはdmg形式ですので、普通のアプリと同じように開くと中にjEditがありますので、これをアプリケーション内に移動します。
これでインストールは終了です。jEditをクリックして起動します。

私の環境(MacBook Air,日本語キーボード)では、ControlキーがAlt、commandキーがCtrlになっていましたので、起動時の設定を書き換えて入れ替えます。
まず、jEditのUtilitiesメニュー>jEdit Home Directory>startupを選択するとFile System Browser(File Browser)が開きますので、その中からstartup.bshを選択して、jEditに表示します。
次に、その中から

/*{{{ Remapping modifier keys part I */
と書かれた辺りに移動すると書き方の例がありますので、参考にしながら次のコードを追加します。
/* for MacOSX Japanese ... */
KeyEventTranslator.setModifierMapping(InputEvent.CTRL_MASK,
InputEvent.META_MASK, InputEvent.ALT_MASK,
InputEvent.SHIFT_MASK);

ファイルを保存してjEditを再起動すれば、ControlキーがCtrl、commandキーがAltになっていると思います。

次は、Emacsっぽく使うためのキー設定を行います。

ラベル: , ,

2009/07/10

jEditをMacに導入してみる。

開発環境として、jEditをMacOS Xに入れてみました。

プラグインを幾つか導入して、Emacsキーバインドのマクロを入れてみましたが、、、ちょっと手間がかかりました。その内容は、少しずつ記述していこうと思います。

ラベル: , ,