我遇到了以下几点让我对实施MVC感到困惑:
场景1:搜索节点和子节点并将其存储在变量中,以便以后使用getter访问它们。我还在那里存放舞台和场景。这样的场景是否适合模型?
root = primaryStage;
node 1= (VBox) root.lookup("#node1");
node 2 = (VBox) root.lookup("#node2");
node 3 = (VBox) root.lookup("#node3");
private void getPrimaryStage() {
return root;
}
场景2:我的视图和逻辑是分开的。几乎所有我的gui元素都在fxml文件中。但是,如果我想创建一个节点并动态添加它呢?
场景3:如何更改现有视图的工作方式?这是控制器的工作吗?
node.setMaxWidth((scene.getWidth() / 2 - 100);
private void position() {
nodeA.setTranslateX(-300);
nodeB.setTranslateX(-300);
nodeA.setTranslateX(40);
nodeB.setTranslateY((scene / 2 - nodeB.getHeight()) / 8);
nodeC.setTranslateY((scene / 2 - nodeB.getHeight()) / 8);
}
答案 0 :(得分:3)
我会告诉你一个通用的概念。
模型保存您的业务逻辑< - >控制器传递数据< - >视图显示它。
场景1 :搜索节点和子节点并将其存储在变量中,以便稍后使用getter访问它们。我还在那里存放舞台和场景。这样的场景是否适合模型?
是的,根据此描述,它看起来非常适合模型。
场景2 :我的视图和逻辑是分开的。几乎所有我的gui元素都在fxml文件中。但是,如果我想创建一个节点并动态添加它呢?
节点是如何创建的?如果有一些复杂的逻辑,它应该在模型中完成,然后控制器应该传递熟的数据进行查看,这可以简单地适应这些数据并渲染新的节点。