实验3MVC和Swing模型.docVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3MVC和Swing模型.doc

实验3 MVC和Swing模型 一、实验名称和性质 所属课程 Java语言程序设计 实验名称 MVC和Swing模型 实验学时 2 实验性质 ?验证 综合?设计 必做/选做 ?必做 选做 二、实验目的 1.理解Swing组件的模型-视图-控件结构; 2. 掌握 JSpinner; 3.掌握JList的ListModel和DefaultListMode。 三、实验内容 1.设计一个显示圆的示例,模型类CircleModel,存储描述圆的属性,视图类CircleView显示圆,控件类CircleController接收输入(验证性内容)。 2. 使用列表模型添加和删除列表项(验证性内容)。 3. 用java实现简单的贪吃蛇游戏,设计合理的类,分别扮演模型(Model)的角色、视图(View)的角色和控制器(Controller)的角色。观察三种角色相互间的影响关系。(设计性内容)。 四、实验的软硬件环境要求 硬件环境要求: PC计算机;内存512MB以上 使用的软件名称、版本号以及模块: 操作系统:Windows 2000或Windows XP 软件:JDK 7.0;Eclipse 五、知识准备 前期要求掌握的知识:了解Java程序的运行流程。 实验相关理论或原理:模型-视图-控件结构(MVC) 是一种开发组件的方式,它将数据的存储和处理与数据的可视化表示分离开来。存储和处理数据的组件称为模型(model),它包含组件的实际内容。表示数据的组件称为视图,它操控组件所有必要的行为。控件是一种通常用来获取数据的组件。微调文本域JSpinner是一个右侧含有一对小箭头的文本域,它能够让用户从一个有序序列中选择数字、日期或值。SpinnerModel 是所有微调文本域模型的一个接口。AbstractSpinnerModel 是实现 SpinnerModel 的一个便利抽象类,并提供了注册和注销方法的实现。 SpinnerListModel, SpinnerNumberModel, and SpinnerDateModel 是 SpinnerModel的具体实现。JList 有两种支持模型,列表模型(list model)和列表选择模型(list-selection model)。列表模型是用来存储和处理数据的。列表选择模型是用来选择项目的。默认情况下,项目是作为字符串或图标来绘制的。也可以通过实现ListCellRenderer接口来创建自定义的绘制方式。 六、验证性与设计性实验 实验1 设计一个显示圆的示例,模型类CircleModel,存储描述圆的属性,视图类CircleView显示圆,控件类CircleController接收输入。 (1)设计模型类CircleModel,存储描述圆的属性(包括圆的半径radius,填充filled,颜色color)。 import java.awt.event.*; import java.util.*; public class CircleModel { // Property radius. 初值为20 代码1 private double radius = 20; /** Property filled. */ private boolean filled; /** Property color. */ private java.awt.Color color; /** Utility field used by event firing mechanism. */ private ArrayList<ActionListener> actionListenerList; public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; // Notify the listener for the change on radius processEvent( new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "radius")); } //filled的访问器 代码2 public boolean isFilled() { return filled; } public void setFilled(boolean filled) { this.filled = filled;

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档