相关疑难解决方法(0)

在JavaFx中应用MVC

我是GUI世界/ OO设计模式的新手,我想在我的GUI应用程序中使用MVC模式,我已经阅读了一些关于MVC模式的教程,模型将包含数据,View将包含可视元素和控制器将在视图和模型之间建立联系.

我有一个包含ListView节点的View,ListView将使用Person Class(Model)填充名称.但我对一件事情有点困惑.

我想知道的是,如果从文件加载数据是由Controller或模型负责的?名称的ObservableList:它应该存储在Controller还是Model中?

java model-view-controller user-interface javafx

26
推荐指数
1
解决办法
5万
查看次数

JavaFX:将TextProperty(例如Label)绑定到一个简单的Integer

一般问题:当简单整数的值发生变化时,有没有办法更新标签?

我说的是简单的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)

java data-binding javafx

4
推荐指数
1
解决办法
1万
查看次数