以下を実行すると、ノード間のスペースに気付きました。私の調査によると、1) setwininfo を使用して win1 にテキストを追加しなければ、問題はありません。2)このコードをより大きなアプリに含めると、ボタンのクリックが他の場所から取り戻されると、不思議なことに間隔が修正されます。3) win1 および win2 ノードをシーンのコンテンツにバインドしようとしましたが、うまくいきませんでした。
def mainframew : 整数 = 250; def mainframeh : 整数 = 500;
class CtrlWindow extends CustomNode {
var wininfo : String;
var fsize : Integer;
var width : Integer;
public function setWinInfo(info : String) {
wininfo = info;
}
override protected function create () : Node {
var win = Group {
content: [
VBox {
content: [
Text {
font : Font {
size: fsize
}
content : bind wininfo
textAlignment : TextAlignment.CENTER // did not work
}
]
}
Rectangle {
width: width, height: 25
fill: Color.TRANSPARENT
strokeWidth : 2
stroke : Color.SILVER
}
]
}
return win;
}
}
public function run(args : String[]) {
var win1 = CtrlWindow{fsize:14, width:mainframew}; var win2 = CtrlWindow{fsize:14, width:mainframew};
win1.setWinInfo("これらのノード間の間隔"); win2.setWinInfo("イベント受信後に自身を修正");
ステージ {
title : "MyApp"
scene: Scene {
width: mainframew
height: mainframeh
content: [
VBox {
spacing: 0
content: [
HBox {
content: win1
}
HBox {
content: win2
}
]
}
]
}
}