S2Swing

S2Swing 0.1.4 リリース

S2Swing 0.1.4をリリースしました。http://s2swing.sandbox.seasar.org/変更点は以下です。 [SWING-4] @S2Actionアノテーションのenabled, selected引数で指定された式の評価結果をキャッシュするようにしました。 [SWING-1] S2ActionUpdaterへの参照が残り…

JTableとのバインディングアノテーション

S2SwingではJTableとのバインディングに特化したアノテーションがあって、例えば以下のように書くと、列と行をマッピングできます。 public class Book { @Column(index = 0) private String title; @Column(index = 1) private String author; ... } public…

S2Swing 0.1.3リリース

S2Swing 0.1.3をリリースしました。 [SWING-3] @ActionTargetの指定が不正な場合に例外を生成するようにしました。 [SWING-2] @ActionTargetに基づき設定されたコンポーネントのプロパティをコンポーネント名ベースの設定で上書きできるようにしました。 [SW…

S2Swing 0.1.2リリース

S2Swing 0.1.2をリリースしました。http://s2swing.sandbox.seasar.org/・[SWING-1] S2ActionUpdaterへの参照が残り続ける不具合を修正しました。

Seasar Conference 2009 Whiteで発表しました

14日のSeasar Conference 2009 Whiteで、S2Swingについて話してきました。40人部屋が満席になった上に、立ち見してくださる方までいて、とても嬉しかったです。ご来場ありがとうございました。45分使って話すのは初めてだったので緊張しましたが、笑いも多少…

リソースインジェクションについて、SAFとNetBeansとS2Swingのそれぞれの役割

Swing Application Frameworkのリソースインジェクションにおける、 Swing Application Framework自身 NetBeansのフォームデザイナ&コード自動生成 S2Swing のそれぞれの役割について書きます。内容は後で整理して、S2Swingのドキュメントに追加しようと思…

S2Swing 0.1.0をリリースしました

9月のSeasar Conferenceで発表してからかなり日数が経ってしまいましたが、ようやくS2Swingの初版をリリースすることができました。http://s2swing.sandbox.seasar.org/S2Swingは、JSR 296: Swing Application FrameworkとJSR 295: Beans Bindingをベースと…

Seasar Conference 2008 Autumn終了

Seasar Conference 2008 AutumnでLTに参加させていただきました。今回発表する側になったことで、このイベントが本当に多くの方の支えによって成り立っていることを実感できました。素晴らしい場で発表の機会をいただき、感謝の気持ちでいっぱいです。ありが…

Seasar Conference 2008 Autumnで喋ります

9月6日(土)、法政大市ヶ谷キャンパスで開催されるSeasar Conference 2008 Autumnで、ライトニングトークをすることになりました。僕のテーマはS2Swingです。まず、Swing Application Framework + Beans Binding (+ NetBeans)による近年のSwing開発スタイルに…

頑張って作ります

うわ、Seasar-user MLでid:koichikさんがS2Swingに言及している!(大汗S2SwingをSandbox申請したのは5ヶ月近くも前なのに、仕様についてあれこれ悩んでいるうちに時間が経ってしまい、未だリリースに至っていません。本当に情けないです。最近になって、よう…

バインディング機能再設計

まず、開発中のS2Swingの現状。以下のような画面があるとします。 public class UserDialog extends JDialog { private JTextField username; private JPasswordField passwd; private JTextField birthDate; ... } 次のモデルクラスを書くと、UserDialogの…

GUIアプリケーションとステートレス

S2Swingを作り始めてからというもの、WebアプリケーションとGUIアプリケーションの開発手法の乖離の大きさを改めて実感しています。Webアプリの定型化が容易であるのに対し、GUIアプリ開発手法のパターン化は本当に難しい。パターン化しにくいのだから、Swin…

JListとJComboBoxの選択項目バインディング

Beans Bindingの現在のバージョンでは、JListとJComboBoxの選択項目バインディングに制約があって、UIからモデルへの書き出ししかできないようになっています。これは、たとえモデルオブジェクトに初期選択値をセットしておいても、画面では未選択のままにな…

アクションの実行可否を宣言的に記述する(続き)

アクションの実行可否を宣言的に記述する - kaisehのブログ上記エントリに書いた、Actionの実行可否状態と選択状態のOGNL式によるバインディング機能は、試してみて非常に便利だったので、S2Swingに取り込みます。EDTがイベントを1つ消費する度に、S2Swingが…

「流暢なインターフェイス」によるGUI構築支援

S2Swingでは、XML等による画面定義機能を提供しない代わりに、簡潔な記述でコンポーネント階層を構築できるビルダを用意しようと思っています。発想としてはGroupLayoutBuilderと同じで、以下のエントリも参考にしました。 現在のJavaで、ツリー構造の構築を…

何で今さらS2Swing?

「この時代にSwingかよ」って感じですが、自分としては、別に今さらでも構わないと思ってます。Swingの資産はすぐに消えてしまう訳ではないし、現にSwingで進めなければいけない案件が迫ってきて、必要を感じて作っているので。将来JavaFXなりAIRなりに移行…

S2SwingをSandboxプロジェクトに登録しました

ここのところ開発を続けている「S2Swing的なもの」ですが、ある程度完成の見通しが立ってきたので、昨日思い切ってSeasarのSandboxプロジェクトとして申請し、無事受理をいただきました。近日中にソースをコミットしようと思っています。S2SwingはLGPLのライ…