当我运行以下命令时,我注意到节点之间的间距;我的研究表明 - 1) 如果我不通过 setwininfo 向 win1 添加任何文本,则没有问题。2)当我将此代码包含在一个更大的应用程序中时,并且当从其他地方重新获得按钮单击时,间距会神秘地得到纠正。3) 我尝试将 win1 和 win2 节点绑定到场景内容 - 但没有运气。
def mainframew : 整数 = 250; def mainframeh : 整数 = 500;
类 CtrlWindow 扩展 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;
}
}
公共功能运行(参数:字符串[]){
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
}
]
}
]
}
}