XlsBeansを使ってみる。その2
昨日に引き続き、XlsBeansをほげる。
JExcelApiが悪いのか、XlsBeansが悪いのか、
TimeStamp型でHH24:mm型の時間を取得すると、
HH12:mmになる。
例
13:00:00⇒1:00
どうしよう。。。
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