Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing MVC问题_Java_Model View Controller_Swing - Fatal编程技术网

Java Swing MVC问题

Java Swing MVC问题,java,model-view-controller,swing,Java,Model View Controller,Swing,我遵循这个MVC模型: 在我的模型中,我有一个“ArrayList形状”字段,我需要视图中的形状 通过modelPropertyChange方法获取形状是获取形状的唯一方法吗 public void modelPropertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(MyController.PROPERTY_TEXT)) { ArrayList<Shape> sh

我遵循这个MVC模型:

在我的模型中,我有一个“ArrayList形状”字段,我需要视图中的形状

通过modelPropertyChange方法获取形状是获取形状的唯一方法吗

public void modelPropertyChange(PropertyChangeEvent evt) {

    if (evt.getPropertyName().equals(MyController.PROPERTY_TEXT)) {
        ArrayList<Shape> shapes = (ArrayList<Shape>) evt.getNewValue();
    }

}
如果我需要这样一个泛型getter方法,我不知道如何将上面的泛型setter转换为泛型getter方法。 如果我不需要这样一个通用的getter方法从模型中检索数据,如果我只需要视图中的modelPropertyChange方法。我如何在应用程序第一次启动时从模型中获取数据o


Pfft我需要从视图中的模型中获取形状的阵列列表:((稍后我还需要获取一些其他数据)非常混乱:(

我一定完全误解了您的意图,因为我不明白您为什么不在模型中使用一个简单的getter。然后从您的视图调用此方法。这假设您的视图引用了模型。您链接的文档显示模型中有这样的getter/setter

即:

public ArrayList getShapes()
{
//返回我的私人领域。
返回形状;
}

我一定完全误解了您的意图,因为我不明白您为什么不在模型中使用一个简单的getter。然后从您的视图调用此方法。这假设您的视图引用了模型。您链接的文档显示模型中有这样的getter/setter

即:

public ArrayList getShapes()
{
//返回我的私人领域。
返回形状;
}

如果你看了我给你的链接,你就会知道我在使用“修改的MVC”

我在视图中看到的唯一模型是:

opacitySpinner.setModel(new SpinnerNumberModel(100, 0, 100, 1));
        opacitySlider.setModel(new DefaultBoundedRangeModel(100, 0, 0, 100));
我在视图中看到的唯一getter是在此视图方法中访问的:

public void modelPropertyChange(final PropertyChangeEvent evt) {
...
}
比如:String newStringValue=evt.getNewValue().toString()

因此,我不知道如何从视图中访问模型上的getter。:s 如果您查看该链接中的图形,您将看到模型和视图之间没有连接,这一切都是通过控制器发生的。:s

还是我错了


(很抱歉发布了答案而不是评论,但是没有代码格式和有限的字符)

如果您查看了我给您的链接,您就会知道我使用的是“修改后的MVC”

我在视图中看到的唯一模型是:

opacitySpinner.setModel(new SpinnerNumberModel(100, 0, 100, 1));
        opacitySlider.setModel(new DefaultBoundedRangeModel(100, 0, 0, 100));
我在视图中看到的唯一getter是在此视图方法中访问的:

public void modelPropertyChange(final PropertyChangeEvent evt) {
...
}
比如:String newStringValue=evt.getNewValue().toString()

因此,我不知道如何从视图中访问模型上的getter。:s 如果您查看该链接中的图形,您将看到模型和视图之间没有连接,这一切都是通过控制器发生的。:s

还是我错了


(很抱歉发布了答案而不是评论,但是没有代码格式和有限的字符)

通常使用MVC,视图将调用控件类中的getter。如果您正在检索的数据已准备好供视图使用,则控件类中的getter通常只是一个委托方法,用于调用模型中相应的getter;但是,如果从模型中检索的数据需要在t在它准备好显示之前,视图将从一个控制类调用一个getter,该控制类将从模型调用getter,执行所需的计算,最后返回到视图


希望这有帮助:-)

通常使用MVC,视图将调用控件类中的getter。如果您正在检索的数据已准备好供视图使用,则控件类中的getter通常只是一个委托方法,用于调用模型中相应的getter;但是,如果从模型中检索的数据需要在t在它准备好显示之前,视图将从一个控制类调用一个getter,该控制类将从模型调用getter,执行所需的计算,最后返回到视图

希望这有帮助:-)