第十章 Java综合项目实训

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.事件响应
在本例中,所有的按钮都有事件响应,并 且都使用addActionListener()方法注册了监 听事件。 JiSuanQi类实现了ActionListener接口,重写 了该接口中的actionPerformed(ActionEvent e)方法。这这个方法中,根据e.getSource() 的返回值判断单击的是哪个按钮对象,不 同的按钮对象做相应的事件处理。
1.界面设计

记事本程序的主界面由一个JFrame类型顶层容器 frame对象实现。在frame上首先设计一个下拉式菜 单,该菜单有四个主菜单即文件、编辑、帮助及 信息,这几个主菜单均采用JMenu类实现,每个主 菜单所包含的子菜单项均由JMenuItem类实现。 除了包含菜单外,顶层容器frame对象上还包含一 组快捷按钮及一个带滚动条的JTextArea组件jsp。 程序中将上面的一组快捷按钮首先放在一个JPanel 类型的对象jp中,然后将jp放在frame的North位置 上,最后将文本组件jsp放在frame的Center位置上 ,从而完成界面布局设计。

2.事件响应
本程序中,所有的菜单项都使用add ActionListener()方法注册了Action事件监听,所有 的快捷按钮都使用add MouseListener()方法注册了 Mouse事件监听。 NotePad类实现了ActionListener及MouseListener 两个接口。重写了ActionListener接口中的 actionPerformed(ActionEvent e)方法,在该方法中 使用e.getSource()方法获取用户单击的是哪个菜单 项,然后进行相应的处理。比如单击了“文件-> 打开”菜单,会根据选择的文件名称,使用文件 输入流对象将这个文件的内容逐行读取出来,然 后显示在文本组件中。
2.事件响应

本例中,主类MusicPlayer 继承自Applet并同 时实现了接口ActionListener,将所有的歌 曲资源均封装为AudioClip对象,歌曲播放 的控制按钮都注册了ActionListener事件监 听,不同的按钮利用AudioClip对象的play() 、stop()、loop()等方法实现歌曲的播放、 停止及循环播放等功能。

10.2 简单记事本
记事本的功能和界面 要求能够实现一个类似Windows附 件记事本的程序,可以进行简单的纯文 本编辑(复制、粘贴及剪切)、新建、 保存及打开等操作。
10.2.1
图10-2 记事本“文件”菜单
图10-3 记事本Βιβλιοθήκη Baidu编辑”菜单
图10-4 记事本“版本信息”菜单
10-5 记事本“保存”对话框
图10-7 服务器端界面
图10-8 客户端界面
1.界面设计

在本例中实时聊天工具的服务器端主界面 由一个JFrame类型顶层容器frame对象实现 ,并且采用默认的BorderLayout布局方式。 界面上方显示聊天记录的JTextArea组件放 在frame的Center位置上,下方的JLabel标签 组件及JTextField组件先放在一个JPanel面板 中,随后将该面板放置在frame容器的South 位置上,从而完成服务器端的界面设计。
第十章 Java综合项目实训
10.1多功能计算器——重点 10.2 简单记事本——重点 10.3 音乐播放器——重点 10.4 简单图形界面聊天工具——重点

10.1 多功能计算器
10.1.1程序的功能及界面 要求能够实现一个计算器的功能, 可以进行整数及小数的加、减、乘、除 、三角函数、乘方、平方根及阶乘等运 算。除此之外,还可以进行清屏,程序 可以关闭等功能。
1.界面设计

界面上利用一个JComboBox组件作为歌曲 列表,并预设了3首歌曲。用户可以通过 ( 添加按钮)来浏览文件目录添加新的歌曲 进行播放。每首正在播放的歌曲的歌词可 以显示在界面中间的JTextArea组件内。本 程序只能显示预设的3首歌曲的歌词,读者 可以修改代码,使得添加的歌曲在播放时 也能显示歌词。


多功能计算器界面
1.界面设计
图形界面的设计一般都不是唯一的。在本例中, 图10-1中的顶层容器frame对象采用FlowLayout布 局方式。 计算器的显示文本组件对象field是第一个放入 frame的组件; 文本组件左下方的一组按钮组件放在一个JPanel对 象LiftPanel中,右下方的一组按钮组件放在另一个 JPanel组件RightPanel中,然后又将LiftPanel和 RightPanel对象放在同一个JPanel组件NorthPanel中 ;最后再把NorthPanel对象放入顶层容器frame中 。
2.事件响应

在服务器端,在ChatServer类的构造方法中 构建了程序的主界面,同时为发送消息的 JtextField组件以匿名类方式添加了事件响应 。随后调用connectServer()方法,该方法中 程序创建了一个ServerSocket对象,然后循 环等待客户端的连接,连接成功后,使用 ObjectOutputStream及ObjectInputStream流 对象进行信息的写入和读取。通讯结束后 关闭连接。

10.3 音乐播放器
播放器功能和界面 要求能够编程实现一个音乐播放器 ,可以添加音乐文件到列表中播放,可 以显示乐曲的歌词,可以控制音乐的播 放、停止、循环播放、上一曲及下一曲 等功能。
10.3.1
图10-6 音乐播放器主界面
1.界面设计
在本例中音乐播放器程序的主界面由
一个JFrame类型顶层容器frame对象实 现,并且采用 frame.getContentPane().setLayout(null) 方法将frame对象的布局方式设为不采 用布局,随后利用组件的setBounds() 方法逐个定位放置在frame容器内。
10.4 简单图形界面聊天工具
10.4.1
聊天程序功能和界面
实现一个简单图形界面的实时聊天系统,该程 序主要采用Socket通讯方式实现服务器端和客户端 的通讯。该程序有两个应用程序,一个是服务器端 的ChatServer.java,另一个是客户端的ChatClient.java 。程序运行时,服务器端先运行,等待客户端运行 连接;客户端的程序运行后,两个应用程序建立通 讯连接,就可以向对方发送消息了。

在客户端,在ChatClient类的构造方法中构 建了程序的主界面,同时为发送消息的 JtextField组件以匿名类方式添加了事件响应 。随后调用connect2Server() 方法,该方法 中程序创建了一个Socket对象,主动和服务 器端的ServerSoket进行连接,连接成功后 ,使用ObjectOutputStream及 ObjectInputStream流对象进行信息的写入和 读取。通讯结束后关闭连接。
本章小结
10.1多功能计算器——重点 10.2 简单记事本——重点 10.3 音乐播放器——重点 10.4 简单图形界面聊天工具——重点

相关文档
最新文档