infomodel.java
来自「MVC设计模式的经典案例」· Java 代码 · 共 62 行
JAVA
62 行
package infotoolsolutions;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2006</p> * <p>Company: </p> * @author not attributable * @version 1.0 */import java.util.*;public class InfoModel { // model data private String message = "welcome to mvc"; private String weather = "Sunny"; // model listener management data structures private ArrayList listeners = new ArrayList(10); public InfoModel() { System.out.println("Model : InfoModel()"); } // state query methods public String getMessage() { System.out.println("Model: getMessage() "); return message; } public String getWeather() { System.out.println("Model: getWeather() "); return weather; } // state change methods public void setMessage(String msg) { System.out.println("Model: setMessage() "); message = msg; this.fireModelChangeEvent(message); } public void setWeather(String wth) { System.out.println("Model: setWeather() "); weather = wth; this.fireModelChangeEvent(weather); } // listener registration method public void addModelChangeListener(InfoView view) { System.out.println("Model: addModelChangeListener(view) "); listeners.add(view); } // private methods private void fireModelChangeEvent(Object o) { InfoView v; for (int i=0; i<listeners.size(); i++) { System.out.println("Model: fireModelChangeEvent() - for loop"); v = (InfoView) listeners.get(i); v.processModelChange(o); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?