gpt4 book ai didi

java - Java Swing 应用程序和 JavaBean 中的 MVC 约定

转载 作者:行者123 更新时间:2023-11-30 04:31:47 25 4
gpt4 key购买 nike

我很好奇 MVC 约定的 VIEW 类是否可以检索 bean 对象来更改其文本显示。我没有将 bean 视为我的 model,而是 model 更改 bean 的状态,然后可以由 VIEW。根据请求,模型会将 Bean 对象传递给 Controller ​​,然后 Controller 将其传递给 View 。这很糟糕吗?

这就是我的意思: bean :

    public class Bean{

private String eventName;
private String eventDate;
//getters
//setters

}

型号:

public class Model {

Bean e = new Bean();
e.setEventOpportunity(rs.getString(7));
e.setEventMoreDetails(rs.getString(8));
e.setEndTime(rs.getString(9));



}

控制:

public class Control () {
public Control() {
Bean events;
events = model.getEvent(tableClick); //tell model to change its state based on user input on views
view.changeDisplay(events);
}

}
}

浏览次数:

     public class Views {
public void editTextFields(Bean e) {
try {
txtEventName.setText(e.getEventName());
String dateString = e.getEventDate();


} catch(Exception te) {
te.printStackTrace();
}
}



}

这样的设计仍然遵循mvc约定吗?我不希望我的模型变得很麻烦,因为它处理数据库并且将 Bean 属性放在那里,类会变得很麻烦。

最佳答案

您被 MVC“编辑器不匹配”所困,即您有一个编辑器/ View 和一个模型,但两者无法就公开哪些信息达成一致。通常,editor/view needs additional information which the model doesn't care about .

Model View ViewModel (MVVM)解决了这个问题,并且解决方案与您的非常相似。

我建议的唯一更改是将“创建 Bean”代码从模型移至 Controller 。 Controller 的目的是配置模型、 View 和 View 模型,以便它们能够很好地协同工作。

关于java - Java Swing 应用程序和 JavaBean 中的 MVC 约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14480271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com