XlsBeansを使ってみる。

S2Swingに引き続き、amaterasプロジェクトのXlsBeansを使ってみました。

そもそも何でこれを使ったかというと、
自分の会社の月報がExcelで作られているのですが、
異常にめんどい作りになっていて、
しかも誰も改善しない。。。

書くのに軽く40分はかかります。

さらにチェックも必要。。。

これはやってられないと、
自分用にツールを作っているような状態です。
(ちなみにVBAでは一度作成済み)
XlsBeansは.xlsファイルからBeansを自動バインドしてくれる、
かなり素敵なもので、アノテーション指定でバインドしてくれます。

ただいつも通りはまったので、覚書

jxlでエラー

最初にXlsBeansを落とした際、一緒に付いてきた、jxlを利用したところ、
思いっきり、Exceptionが出ました。
いろいろ調べたところ、バージョンが若干古かったらしく、
新しいものにしたら治りました。

skip属性がきかない?

@LabelledCellのskipが聞いていないような気がします。。。
なぜかつけると、nullぽで落ちます。。。


ただとりあえず、S2SwingでViewをXlsBeansでModelを作ったので、
あとはController(チェッククラス)をくつれば楽になるはず。。。
いつできることやら。。

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