基于-GUI地网络通信程序设计.doc

上传人:小** 文档编号:2196283 上传时间:2019-05-01 格式:DOC 页数:6 大小:148KB
下载 相关 举报
基于-GUI地网络通信程序设计.doc_第1页
第1页 / 共6页
基于-GUI地网络通信程序设计.doc_第2页
第2页 / 共6页
基于-GUI地网络通信程序设计.doc_第3页
第3页 / 共6页
基于-GUI地网络通信程序设计.doc_第4页
第4页 / 共6页
基于-GUI地网络通信程序设计.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、-_Java 程序设计实验报告-实验 3实验室: 2014 年 12 月 10 日学院 计算机与信息学院 专业班级 姓名 成绩课程名称 Java 程序设计实验项目名 称实验三 基于 GUI 的网络通信程序设计指导教师教师评语教师签名:年 月 日1、实验目的1掌握 Java 中 GUI 程序的编写,包括事件监听机制。2掌握 Java 的网络通信编程,ServerSocket,Socket 类的使用。3掌握 Java 中多线程的编程,Thread 类,Runnable 接口的使用。4掌握用面向对象的方法分析和解决复杂问题。2、实验原理1. 利用 java.awt 和 javax.swing 包提供

2、的各种组件实现服务器和客户端的界面设计。2使用套接字实现基于 TCP 协议的服务器和客户端。3.为服务器和客户端界面中的有关组件添加消息相应,实现交互。三、使用硬件、软件环境PC 计算机一台,配置为 CPU 为 2.6G,内存为 4G,硬盘为 1T,安装 Windows8 操作系统。另外,使用 JCreator,JDK1.8.0 等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等) 1.实验过程:首先实现界面的编写,之后使用套接字实现基于 TCP 协议的通信,再设置监视 器,为相应的组件添加消息相应。2.源程序:1.客户端程序:KeHuDuan.javaimport java.

3、awt.*;import java.awt.event.*;import java.util.*;import java.io.*;import .*;import javax.swing.*;-_public class KeHuDuanpublic static void main(String args)MyFrame client = new MyFrame();client.setVisible(true);client.setResizable(false);client.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);class

4、 MyFrame extends JFrameJTextField ip;JTextField port;JTextField cin;JTextArea content;JButton connect;JButton say;Socket socket;MyFrame()init();ConnectListen cListener = new ConnectListen();SayListen sListener = new SayListen();connect.addActionListener(cListener);say.addActionListener(sListener);vo

5、id init()setLayout(new FlowLayout();setSize(400,400);setLocation(800,100);add(new JLabel(“Serve ip“);ip = new JTextField(“127.0.0.1“,8);add(ip);add(new JLabel(“Serve port“);port = new JTextField(“8888“,8);add(port);connect = new JButton(“connect“);add(connect);content = new JTextArea(16,35);JScrollP

6、ane scroll = new JScrollPane(content);add(scroll);add(new Label(“Say:“);cin = new JTextField(25);add(cin);say = new JButton(“say“);add(say);-_class ConnectListen implements ActionListenerint portNum;public void actionPerformed(ActionEvent e)connect.setEnabled(false);try portNum =Integer.parseInt(por

7、t.getText();socket = new Socket(ip.getText(),portNum);ClientThread ct = new ClientThread();ct.start();catch (Exception ex) class SayListen implements ActionListenerString str;public void actionPerformed(ActionEvent e)try PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(soc

8、ket.getOutputStream(),true);str=cin.getText();if(!str.isEmpty()out.println(str);content.append(“me:“+str+“n“);out.flush();cin.setText(“);catch (Exception ex) class ClientThread extends Threadpublic void run()try BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream();Str

9、ing str;while(true)str = in.readLine();/System.out.println (“a“);content.append(str+“n“);-_catch (Exception ex) 2.服务器端程序:import java.awt.*;import java.awt.event.*;import java.util.*;import java.io.*;import .*;import javax.swing.*;public class FuWuQipublic static void main(String args)MyFrame serve =

10、 new MyFrame();serve.setVisible(true);serve.setResizable(false);serve.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);class MyFrame extends JFrameJTextField port;JButton start;JTextArea content;JTextField cin;JButton say;Socket socket;MyFrame()init();StartListen sListen = new StartListen();SayList

11、en stListen = new SayListen();start.addActionListener(sListen);say.addActionListener(stListen);void init()setLayout(new FlowLayout();setSize(400,400);setLocation(400,100);add(new JLabel(“Port:“);port = new JTextField(“8888“,25);add(port);start = new JButton(“Start“);add(start);-_content = new JTextA

12、rea(15,35);JScrollPane scroll = new JScrollPane(content);add(scroll);add(new JLabel(“Say:“);cin = new JTextField(26);add(cin);say = new JButton(“Say“);add(say);class StartListen implements ActionListenerpublic void actionPerformed(ActionEvent e)start.setEnabled(false);try ServerSocket s = new Server

13、Socket(Integer.parseInt(port.getText();socket = s.accept();PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),true);out.println(“连接成功“);content.append(“连接成功“+“n“);ServerThread st = new ServerThread();st.start(); catch (Exception ex) class SayListen i

14、mplements ActionListenerString str;public void actionPerformed(ActionEvent e)try PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),true);str=cin.getText();if(!str.isEmpty()out.println(str);content.append(“me:“+str+“n“);out.flush();cin.setText(“);cat

15、ch (Exception ex) -_class ServerThread extends Threadpublic void run()try BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream();String str;while(true)str = in.readLine();content.append(str+“n“);catch (Exception ex) 3.测试结果:五、实验结论、分析、思考题与心得体会通过本次实验,我有以下几方面的收获、认识和体会:1.学会了编写带有图形化界面的程序。2.简单掌握了 JFrame、JLabel、JTextField、JButton 和 JPanel 等组件的方法。3.能够独立解决部分编译和执行过程中的错误信息。4.掌握事件处理的方法和常用的布局管理器。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。