我的代码是视图,模型还是控制器的一部分?

时间:2016-09-27 18:58:21

标签: java javafx

我遇到了以下几点让我对实施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);
}

1 个答案:

答案 0 :(得分:3)

我会告诉你一个通用的概念。

模型保存您的业务逻辑< - >控制器传递数据< - >视图显示它。

场景1 :搜索节点和子节点并将其存储在变量中,以便稍后使用getter访问它们。我还在那里存放舞台和场景。这样的场景是否适合模型?

是的,根据此描述,它看起来非常适合模型。

场景2 :我的视图和逻辑是分开的。几乎所有我的gui元素都在fxml文件中。但是,如果我想创建一个节点并动态添加它呢?

节点是如何创建的?如果有一些复杂的逻辑,它应该在模型中完成,然后控制器应该传递熟的数据进行查看,这可以简单地适应这些数据并渲染新的节点。