「JavaFX」の編集履歴(バックアップ)一覧はこちら
「JavaFX」(2009/03/23 (月) 00:45:38) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*JavaFXメモ
** ソースコードの記述方法
宣言方式と手続き方式がある。
・宣言方式=JavaFXっぽい書き方。
・手続き方式=Javaっぽい書き方。
*** 宣言型
import javafx.ui.*;
Frame {
centerOnScreen: true
width: 500
height: 200
content: Label {
font: Font {
size: 24
}
text: "宣言方式"
foreground: red
}
visible: true
}
*** 手続き型
var frame = new Frame();
frame.width = 500;
frame.height = 200;
var font = new Font();
font.size = 24;
var content = new Label();
content.font = font;
content.text = "手続き型テスト";
content.foreground = blue;
frame.content = content;
frame.visible = true;
** レイアウト
BorderPanelを使う
→Javaでいうボーダーレイアウトみたいなもの
** メソッドにあたるもの
operationとfunctionを使用する
operationは複雑な処理をさせることが可能
functionは計算結果を返却するといった処理のみ可能
operationの例(定義部分)
operation showDialog() {
MessageDialog{
message: "テストメッセージ"
visible: true
title: "メッセージタイトル"
}
}
呼び出し部分
: Button {
text: "ボタン"
action: operation(){
showDialog();
}
}
*JavaFXメモ
** ソースコードの記述方法
宣言方式と手続き方式がある。
・宣言方式=JavaFXっぽい書き方。
・手続き方式=Javaっぽい書き方。
*** 宣言型
import javafx.ui.*;
Frame {
centerOnScreen: true
width: 500
height: 200
content: Label {
font: Font {
size: 24
}
text: "宣言方式"
foreground: red
}
visible: true
}
*** 手続き型
var frame = new Frame();
frame.width = 500;
frame.height = 200;
var font = new Font();
font.size = 24;
var content = new Label();
content.font = font;
content.text = "手続き型テスト";
content.foreground = blue;
frame.content = content;
frame.visible = true;
** レイアウト
BorderPanelを使う
→Javaでいうボーダーレイアウトみたいなもの
** メソッドにあたるもの
operationとfunctionを使用する
operationは複雑な処理をさせることが可能
functionは計算結果を返却するといった処理のみ可能
operationの例(定義部分)
operation showDialog() {
MessageDialog{
message: "テストメッセージ"
visible: true
title: "メッセージタイトル"
}
}
呼び出し部分
: Button {
text: "ボタン"
action: operation(){
showDialog();
}
}
** ウィジェット・アトリビュートへのアクセス
モデルクラスとバインドを使用する
モデルクラスの定義例
イメージ的には抽象クラスのような感じ?
class MyModel{
attribute test : String;
operation showDialog();
}
モデルクラスの宣言
var model : MyModel = MyModel{
test : "テスト"
};
定義したモデルをバインドする
バインドすることによってアトリビュートに関連付けが出来る
TextField {
width: 300
value: bind model.test
}