Java Swing MVC问题
我遵循这个MVC模型: 在我的模型中,我有一个“ArrayList形状”字段,我需要视图中的形状 通过modelPropertyChange方法获取形状是获取形状的唯一方法吗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
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,执行所需的计算,最后返回到视图 希望这有帮助:-)