收藏 分享(赏)

西农java实习四_界面设计.doc

上传人:精品资料 文档编号:10417848 上传时间:2019-11-08 格式:DOC 页数:38 大小:3.20MB
下载 相关 举报
西农java实习四_界面设计.doc_第1页
第1页 / 共38页
西农java实习四_界面设计.doc_第2页
第2页 / 共38页
西农java实习四_界面设计.doc_第3页
第3页 / 共38页
西农java实习四_界面设计.doc_第4页
第4页 / 共38页
西农java实习四_界面设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、信 息 工 程 学 院 1 Java 语言程序设计实验报告学院:信息学院 姓名: pprp 学号:* 成绩:1、实习目标(1)掌握 Java 的 swing 界面开发步骤:1.生成 JFrame 子类作为界面;2.设计中间容器,为中间容器设置布局;3.添加组件;4.为组件添加事件处理。(2)熟悉使用 JDK_API 进行软件开发。2、实验过程实验题 1 Focus 事件处理练习实现如图 1 所示的布局方式功能:(1)初始化的时候,文本框失去焦点,文本框内显示灰色字符串“密码/ 邮箱 /手机号” ,代表输入提示,如图 1(a)所示;图 1(a) 初始化时,文本框失去焦点(2)在图 1(a)状态下

2、点击文本框,文本框得到焦点,则光标在文本框最左端显示,代表可以输入字符串,如图 1(b)所示;图 1(b) 文本框得到焦点实验报告的内容与格式按任课教师的要求书写。(3)若文本框内有已经输入字符串(黑色字符) ,则无论其失去焦点或得到焦点,文本框内容不变,表示可以继续修改文本框内的字符串,如图 1(c)所示。若此时清空文本框内容,点击“确定” ,则回到图 1(a)状态。图 1(c) 修改文本框内的字符截图:要求 1: 初始化的时候,文本框失去焦点,文本框内显示灰色字符串“密码/邮箱/手机号 ”要求 2: 点击文本框,文本框得到焦点,则光标在文本框最左端显示,代表可以输入字符串要求 3: 若文本

3、框内有已经输入字符串(黑色字符) ,则无论其失去焦点或得到焦点,文本框内容不变,表示可以继续修改文本框内的字符串,如图1(c )所示。若此时清空文本框内容,点击“确定” ,则回到图 1(a)状态。代码:总结及说明:练习主要是 Listener 的使用,用到了两个 Listener,一个是 MouseListener,另一个是 FocusListener。1. 其中用到一个函数叫 requestFocus();这个函数尽量在 setVisible(true)之后再调用。2. MouseListener 是用来在鼠标点击文本框以后进行清空处理的。3. FocusListener 是用来在文本框得到

4、焦点后进行接收处理,失去焦点后设置为默认字段。4. 剩下的就是比较基础的界面的设置。实验题 2 日历编写一个程序,有一个窗口,该窗口为 BorderLayout 布局。窗口的中心添加一个 Panel 容器:pCenter,pCenter 的布局是 7 行 7 列的 GridLayout 布局,pCenter 的中放置 49 个标签,用来显示日历。窗口北面添加一个 Panel 容器pNorth,其布局是 FlowLayout 布局,pNorth 放置两个按钮:nextMonth 和previousMonth 按钮,单击 nextMonth,可以显示当前月的下一个月的日历;单击previousMo

5、nth 按钮,可以显示当前月的上一个月的日历。窗口的南面添加一个Panel 容器 pSouth,其布局是 FlowLayout 布局,pSouth 中放置一个标签用来显示一些信息。请完成界面设计和相关功能。运行结果如图 2 所示。图 2 日历效果图截图:代码:具体函数:总结及分析:主要分为两个模块:1、第一个模块是进行部件的添加和处理,2、第二个模块是日历内容的设置3、第三个模块是对按钮进行响应4、用到了 Calendar 这个类进行计算和处理,为了使界面更美观,增加了UIManager.setLookAndFeel(“com.sun.java.swing.plaf.windows.Windo

6、wsLookAndFeel“);使按键如同 window 的感觉,并设置了背景,凹陷。5、遇到的主要的问题和注意的点:(1) 首先出现过面板的设计问题,主要分为上中下三个部分,其中 Center这部分在老师的建议下改成了上下两个部分,分别显示星期和日期,星期选用 JButton,日期选择 JLabel。(2) 出现了日期的列数不匹配的问题,显示 5 列或者 6 列,而不是正常的 7列。最后通过对 GridLayout 的调整还有 for 循环的调整,解决了这个问题。(3) 遇到了这样的错误,在上下月翻页的时候,发现会出现到 30 或者 31 日然后又下降从 28 或 29 开始递增至 30 的

7、情况,而代码中不可能出现递减。在仔细考虑以后发现,之前月份没有清楚,而下个月份没有覆盖完全导致了这个问题的发生。解决办法是加了一个 clearCalendarPane 函数,在每次调用前都提前清除一下就可以解决这个问题了。(4) 这个代码组织不够清晰,不够清楚明白,在之后的练习中应该注意。实验题 3 计算器(1)必做内容:编写一个计算器的程序,主界面由多个按钮组件、一个文本框构成。运行结果如下图所示(二者选一即可) :截图:代码:总结:1、完成的计算很有限,要求只能进行双目运算,不能进行连续的计算。2、主要用的是一个 Action 函数,进行对按键的响应和处理。3、外观选择了 UIManger

8、 类进行处理,选择了 Windows 类型。实验题 4 拼图游戏(选做)还记得小时候玩过的拼图游戏吗?现在是大家实践的时候了!(1)运行结果如图 4 所示。左上角的原图片供玩家参考,下面有若干个网格,每个网格都是一个小图片,若干个小图片构成原图片。(2)单击“开始”时候,这些图片是杂乱无章的。在图中有一个网格是空白的,玩家可以通过单击与其相临的网格,即位于其上,下,左,右的 4 个网格,将被单击网格中显示的小图片移动到空白网格中,然后被单击的网格将变成空白。(3)经过反复移动,直到拼好。(4)单击“难度”可以将原图进行不同程度的切割,单击“开始”会重新开始游戏。截图:代码:总结:实验题 5 单机五子棋截图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报