我想调整一个MVVM应用程序到GroovyFX。我对Groovy和GroovyFX本身都没有太多的经验,也没有那么多的信息可用。
设计由一个主窗口组成,里面有一个面板。比方说,当用户按下按钮时,应用程序将删除中央面板子面板,并插入符合目标视图的新“节点树”。
让我们看看一些代码
import groovyx.javafx.GroovyFX
import groovyx.javafx.SceneGraphBuilder
import static groovyx.javafx.GroovyFX.start
import javafx.fxml.FXMLLoader
import javafx.scene.layout.StackPane;
def controller = new MainWindowController()
def loader = new FXMLLoader(getClass().getResource("gui.fxml"));
def myPane = loader.load();
start
{
stage(title: "Tasks!", x: 100, y: 100, width: 400, height: 400, visible: true,
style: "decorated", onHidden: { println "Close"})
{
scene(fill: GROOVYBLUE)
{
vbox(spacing: 10, padding: 10)
{
button(text:"Show!",onAction:{ controller.activityPanel.getChildren().clear() controller.activityPanel.getChildren().add(myPane)})
controller.activityPanel=stackPane()
}
}
}
}当用户按下按钮时,位于主窗口内的stackPane将接收到myPane的内容,并显示这个“视图”。问题是
这个想法类似于jfx流项目,但在GroovyFX中。
发布于 2012-11-12 23:07:31
第二,你可以.
fxml resource("/FXMLDemoInline.fxml"), {
buttonCSSID.onAction {
labelCSSID.text = "Clicked - CSS";
}
buttonFXID.onAction {
labelFXID.text = "Clicked - FXML";
}
}我是从演示中
对于#1,可以在build(Script)构建器中使用GroovyFX实例方法。只需像在GroovyFX的start方法中那样编写脚本,并引用脚本类。
https://stackoverflow.com/questions/12962956
复制相似问题