JavaFX bind を試す

今日はJavaFXで動的な変更を可能にするbindという機能を試してみます。
テキストフィールドに文字を入力し確定するとラベルにすぐその文字が変更表示されるという簡単なものです。
なんだか以前試したJavaのBeansBindingのようですね。
いつものようにNetBeansを使って作ってみます。
ソースは下記のようになります。

package bindtest;

/**

* @author Yucchi

*/

import javafx.ui.*;

class BindTestModel {

   attribute bindText: String;

   attribute title: String;

}

var model = BindTestModel {

   bindText: “文字を入力してね(^^)”

   title: “BindTest”

};

Frame {

   width: 200

   height:150

   title: model.title

   content: GridPanel {

       border: EmptyBorder {

           top: 30

           left: 30

           bottom: 30

           right: 30

       }

       rows: 2

       columns: 1

       vgap: 10

       cells:

           [TextField {

           value: bind model.bindText

       },

       Label {

           text: bind "{model.bindText}"

       }]

   }

   visible: true

}

今回はコンポーネントの配置レイアウトにグリッドパネルを使用しています。
Javaとは記述方法が違いますのでちょっと違和感があります。
ここでNetBeansを使っていればプレビュー画面が確認できます。

実際にプログラムを実行したらこうなります。

テキストフィールドの文字を変更してみます。

おお!ちゃんと変わりましたね。
これって本当にBeansBindingもどきですね(^^;
プレビュー画面と実際の画面とは少し違いますがまぁ、良しとしましょう。(^^;
NetBeansにはJavaのGUIビルダーのような機能がまだないのでGUI構築は手書きでグリグリしなくてはいけないのでめんどうです。
早くJavaFX用のGUIビルダーが搭載されることを希望します。
最後に2007年も今日で終わります。
私のサイトに訪れてくださった皆様、いいお年をお迎えくださいませ(^^)/~~~

Tags: ,

Leave a Reply