我是GUI世界/ OO设计模式的新手,我想在我的GUI应用程序中使用MVC模式,我已经阅读了一些关于MVC模式的教程,模型将包含数据,View将包含可视元素和控制器将在视图和模型之间建立联系.
我有一个包含ListView节点的View,ListView将使用Person Class(Model)填充名称.但我对一件事情有点困惑.
我想知道的是,如果从文件加载数据是由Controller或模型负责的?名称的ObservableList:它应该存储在Controller还是Model中?
一般问题:当简单整数的值发生变化时,有没有办法更新标签?
我说的是简单的int而不是像ReadOnlyIntegerWrappers这样的东西.我根据在javafx中将Converting Integer转换为ObservableValue <Integer> (我不得不将ObservableValue的标识符(就是所谓的名称?)从Integer更改为String 来尝试以下内容,因为我找不到将其绑定到的方法否则为TextProperty)
我在下面包含了我的演示代码,其中似乎导致了NullPointerException label.textProperty().bind(m.getObsValue());.该应用程序是以MVC模式编写的.
模型:
public class Model {
private int value;
private ObservableValue<String> obsInt;
public Model(){
value = 5;
obsInt = new ReadOnlyObjectWrapper<>(value + "");
}
public int getValue(){
return value;
}
public void setValue(int value){
this.value = value;
}
public ObservableValue<String> getObsValue(){
return obsInt;
}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public class Controller {
private Model m;
private View v;
public Controller(Model m, View v){
this.m = m;
this.v = v; …Run Code Online (Sandbox Code Playgroud)