S2Swingを試してみた
チョイ前からSeasar関連を扱っており、それで知ったS2Swing
もともとSwingはプログラムの勉強でゲームを作ってた頃にがりがり書いていたぐらいで、
そんなによくはわかってない。
いつもは、Eclipseを使っているのですが、VEは更新されてない(らしい)ので、
思い切ってNetBeans*1を使ってやってみました。
画面でデスクトップアプリを作るのは、VBAでしかやったことなかったから、
まずNetBeansのよさにビックリ!
超配置とか楽です。
またS2Swingの感想ですが、
非常にソースコード量が少なく、とても楽しく開発ができそうです。
アノテーションでのActionマッピングが素敵ですね。
てかSwingってこんなに早かったっけ?
バリデーションも素敵です。
独自バリデーションの追加方法もアノテーション追加ではなく、
クラス指定なところが素敵です。(独自アノテーションも可能なのかな?)
双方向バインドもかなり素敵!
JavaFxも試してみましたが、S2Swingのほうがお気軽な感じがしました。
(まだJavaFxプラグインもいけてないですしね。。。)
Swingってこんなにかっこいい見た目になったのね。。。
ただNetBeansとの絡みでいろいろはまったので覚書。
自動にリソースインジェクション
NetBeansは自動でその設定を入れてくれます。
がその設定部分はソース編集でいじれない。
プロパティウィンドウの「text」プロパティにて、「リソースとして定義」チェックボックスを外したら治りました。 これ毎回やらなきゃならない?めんどくない?追記 「インスペクタ」ウィンドウからフォームを選択して 右クリック「プロパティ」⇒「自動リソース管理」⇒「オフ」でできた。 リソースを自動で作ってくれる分には十分いいので、 最初は自動作成 最後にオフって感じで
配置したプロパティは直接編集不可
labelとかtextBox配置すると、プロパティとしてセットしてくれるのですが、
もともとのプロパティ宣言部を直接編集できません。
なので@ActionTargetとか気軽につけれません。。。
これも、配置されたコンポーネントを右クリックして、 「コードのカスタマイズ」を選択して、「変数宣言コード」にて追加できる。 ・・・ ちょっとめんどい。。。 Action名を表示しながら@ActionTargetとか書きたいのにな。。。
Modelクラスのラベル
これはNetBeans関係ないかもしれませんが、エラーメッセージについて、
モデルクラスのプロパティを
[propertyName].label = [customLabel]
の形式で[Model].propertiesに書いたのですが、
うまいことリソースから読み込んでくれませんでした。。。
これはまだハマり中。。。
NetBeansでコンポーネントおいて、
できたinitComponentsメソッドを、
initializeメソッドで呼び出すみたいなことをしているから駄目なのかな。。。
う〜ん。。。
それ以外のリソースは読み込んでくれるのに。。。
*1:ver 6.5.1