您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 第十章 Java综合项目实训
第十章Java综合项目实训10.1多功能计算器——重点10.2简单记事本——重点10.3音乐播放器——重点10.4简单图形界面聊天工具——重点10.1多功能计算器10.1.1程序的功能及界面要求能够实现一个计算器的功能,可以进行整数及小数的加、减、乘、除、三角函数、乘方、平方根及阶乘等运算。除此之外,还可以进行清屏,程序可以关闭等功能。多功能计算器界面1.界面设计图形界面的设计一般都不是唯一的。在本例中,图10-1中的顶层容器frame对象采用FlowLayout布局方式。计算器的显示文本组件对象field是第一个放入frame的组件;文本组件左下方的一组按钮组件放在一个JPanel对象LiftPanel中,右下方的一组按钮组件放在另一个JPanel组件RightPanel中,然后又将LiftPanel和RightPanel对象放在同一个JPanel组件NorthPanel中;最后再把NorthPanel对象放入顶层容器frame中。2.事件响应在本例中,所有的按钮都有事件响应,并且都使用addActionListener()方法注册了监听事件。JiSuanQi类实现了ActionListener接口,重写了该接口中的actionPerformed(ActionEvente)方法。这这个方法中,根据e.getSource()的返回值判断单击的是哪个按钮对象,不同的按钮对象做相应的事件处理。10.2简单记事本10.2.1记事本的功能和界面要求能够实现一个类似Windows附件记事本的程序,可以进行简单的纯文本编辑(复制、粘贴及剪切)、新建、保存及打开等操作。图10-2记事本“文件”菜单图10-3记事本“编辑”菜单图10-4记事本“版本信息”菜单10-5记事本“保存”对话框1.界面设计记事本程序的主界面由一个JFrame类型顶层容器frame对象实现。在frame上首先设计一个下拉式菜单,该菜单有四个主菜单即文件、编辑、帮助及信息,这几个主菜单均采用JMenu类实现,每个主菜单所包含的子菜单项均由JMenuItem类实现。除了包含菜单外,顶层容器frame对象上还包含一组快捷按钮及一个带滚动条的JTextArea组件jsp。程序中将上面的一组快捷按钮首先放在一个JPanel类型的对象jp中,然后将jp放在frame的North位置上,最后将文本组件jsp放在frame的Center位置上,从而完成界面布局设计。2.事件响应本程序中,所有的菜单项都使用addActionListener()方法注册了Action事件监听,所有的快捷按钮都使用addMouseListener()方法注册了Mouse事件监听。NotePad类实现了ActionListener及MouseListener两个接口。重写了ActionListener接口中的actionPerformed(ActionEvente)方法,在该方法中使用e.getSource()方法获取用户单击的是哪个菜单项,然后进行相应的处理。比如单击了“文件-打开”菜单,会根据选择的文件名称,使用文件输入流对象将这个文件的内容逐行读取出来,然后显示在文本组件中。10.3音乐播放器10.3.1播放器功能和界面要求能够编程实现一个音乐播放器,可以添加音乐文件到列表中播放,可以显示乐曲的歌词,可以控制音乐的播放、停止、循环播放、上一曲及下一曲等功能。图10-6音乐播放器主界面1.界面设计在本例中音乐播放器程序的主界面由一个JFrame类型顶层容器frame对象实现,并且采用frame.getContentPane().setLayout(null)方法将frame对象的布局方式设为不采用布局,随后利用组件的setBounds()方法逐个定位放置在frame容器内。1.界面设计界面上利用一个JComboBox组件作为歌曲列表,并预设了3首歌曲。用户可以通过(添加按钮)来浏览文件目录添加新的歌曲进行播放。每首正在播放的歌曲的歌词可以显示在界面中间的JTextArea组件内。本程序只能显示预设的3首歌曲的歌词,读者可以修改代码,使得添加的歌曲在播放时也能显示歌词。2.事件响应本例中,主类MusicPlayer继承自Applet并同时实现了接口ActionListener,将所有的歌曲资源均封装为AudioClip对象,歌曲播放的控制按钮都注册了ActionListener事件监听,不同的按钮利用AudioClip对象的play()、stop()、loop()等方法实现歌曲的播放、停止及循环播放等功能。10.4简单图形界面聊天工具10.4.1聊天程序功能和界面实现一个简单图形界面的实时聊天系统,该程序主要采用Socket通讯方式实现服务器端和客户端的通讯。该程序有两个应用程序,一个是服务器端的ChatServer.java,另一个是客户端的ChatClient.java。程序运行时,服务器端先运行,等待客户端运行连接;客户端的程序运行后,两个应用程序建立通讯连接,就可以向对方发送消息了。图10-7服务器端界面图10-8客户端界面1.界面设计在本例中实时聊天工具的服务器端主界面由一个JFrame类型顶层容器frame对象实现,并且采用默认的BorderLayout布局方式。界面上方显示聊天记录的JTextArea组件放在frame的Center位置上,下方的JLabel标签组件及JTextField组件先放在一个JPanel面板中,随后将该面板放置在frame容器的South位置上,从而完成服务器端的界面设计。2.事件响应在服务器端,在ChatServer类的构造方法中构建了程序的主界面,同时为发送消息的JtextField组件以匿名类方式添加了事件响应。随后调用connectServer()方法,该方法中程序创建了一个ServerSocket对象,然后循环等待客户端的连接,连接成功后,使用ObjectOutputStream及ObjectInputStream流对象进行信息的写入和读取。通讯结束后关闭连接。在客户端,在ChatClient类的构造方法中构建了程序的主界面,同时为发送消息的JtextField组件以匿名类方式添加了事件响应。随后调用connect2Server()方法,该方法中程序创建了一个Socket对象,主动和服务器端的ServerSoket进行连接,连接成功后,使用ObjectOutputStream及ObjectInputStream流对象进行信息的写入和读取。通讯结束后关闭连接。本章小结10.1多功能计算器——重点10.2简单记事本——重点10.3音乐播放器——重点10.4简单图形界面聊天工具——重点
本文标题:第十章 Java综合项目实训
链接地址:https://www.777doc.com/doc-3284646 .html