1 编程方式一
1.1 画状态图
秒表的状态图,其中秒表有:重置,运行中,已停止3个状态

1.2 编写xml文件
秒表状态机定义文件:,xml文件分析请看后面
1.3 编写程序控制状态转移
需要操作的实体类,用来约束秒表的行为:
讯享网
界面类:
1.4 程序结果分析




程序界面类中的定时器一直在访问 StopWatchEntity的getDisplay属性,来得到秒表的值。我们通过Start,Stop,Reset来控制秒表的状态,在进入某一个状态机的时候,我们调用这个状态机根上下文设置的stopWatcheEntity对象相应的方法,来改变秒表的值。当秒表一直处于某一个状态的时候,我们又通过点击按钮来改变秒表的状态。
2 编程方式2
2.1 画状态图
讯享网
2.2 编写状态图xml文件
,这个类里面没有了srcipt等标签。
2.3编写程序控制状态转移
需要操作的实体类(同时也是状态机类),用来约束秒表的行为:。这个类中的方法名字和上面的名字稍有不同,这个类里面的名字必须要和所对应的xml文件里面的状态名字相同。这是因为当状态发生转移的时候,进入某一个状态的时候,由框架自身根据反射机制去调用对应的方法。
界面展现类
2.4 程序结果分析


java基础做时钟
程序界面类中的定时器一直在访问 StopWatctStateMachine的getDisplay方法,来得到秒表的值。我们通过Start,Stop,Reset来控制秒表的状态,在进入某一个状态机的时候,由框架自动调用对应状态名相同的的函数,来改变秒表的值。当秒表一直处于某一个状态的时候,我们又通过点击按钮来改变秒表的状态。
源代码中对应的调用语句如下
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/10324.html