プロトタイプ版をコミットしました

Sandbox申請も完了し、リポジトリも使えるようになったので seasar.org にプロトタイプ版をコミットしました。

リポジトリのURLは以下の通りです。

https://www.seasar.org/svn/sandbox/s2jface

誰でも取得できるので、興味ある人は Subclipse(じゃなくてもいいけど)で落として覗いてみてください。

あくまでもプロトタイプ版なので、まだまだ中途半端です。XML定義の仕様なども変更の可能性が大きくありますので、ご了承ください。

依存プロジェクトについて

s2jfaceプロジェクトは、以下のプロジェクトに依存します。プロトタイプ版を動かすには、後述の方法に従って、Eclipseにインポートしてください。

インポート方法
  1. Subclipsehttps://www.seasar.org/svn/s2container に接続します。
  2. SVNリポジトリ」ビュー上で /trunk/seasar2 を右クリックし、「チェックアウト」-「プロジェクトとしてワークスペース上へチェックアウト」を選択します。
  3. 同様に /trunc/s2-tigerワークスペース上へチェックアウトします。

Javaのバージョンについて

S2JFaceTiger(Java5)上で動作します。(J2SE 1.4.x では動作しません)

サンプル(DIでジャンケン)の実行方法

SeasarCon 2006 Spring で発表した「DIでジャンケン」のデモも一緒に入っています。

Eclipseの「構成および実行」から「SWTアプリケーション」の起動構成を作成し、「org.seasar.jface.example.janken.DIdeJanken」をメインクラスとして指定すると実行できます。

src/example 配下にある

  • org/seasar/jface/example/janken/DIdeJanken.xml
  • org/seasar/jface/example/janken/JankenAction.java

あたりを見ていただくと、なんとなく使い方がわかると思います。

現在できること

画面定義XMLをパースしてJFaceを使って画面を描画する
画面からS2Containerに登録したコンポーネントの呼び出し
  • 画面のid(Window要素のid属性)+"Action" という名前のコンポーネント(アクションコンポーネントと呼ぶ)が結びつけられる。(例:Windowのidが"janken"なら、"JankenAction")
  • アクションコンポーネント上でアノテートされたメソッドを呼び出す。(以下のようなアノテーションなら、画面定義XML上で guButton という id を持つコントロールでSelectionイベントが発生したときに、goo() メソッドが呼ばれる)
    @EventListener(eventListenerType=EventListenerType.SELECTION, id = "guButton")
    public void goo() {
        call(Janken.STONE);
    }