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

上传人:李司机 文档编号:1180269 上传时间:2022-07-14 格式:DOC 页数:6 大小:172KB
返回 下载 相关 举报
基于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页
点击查看更多>>
资源描述

《基于GUI的网络通信程序设计.doc》由会员分享,可在线阅读,更多相关《基于GUI的网络通信程序设计.doc(6页珍藏版)》请在三一办公上搜索。

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

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

3、;import .*;import javax.swing.*;public class KeHuDuanpublic static void mainMyFrame client = new MyFrame;client.setVisible;client.setResizable;client.setDefaultCloseOperation;class MyFrame extends JFrameJTextField ip;JTextField port;JTextField cin;JTextArea content;JButton connect;JButton say;Socket

4、 socket;MyFrameinit;ConnectListen cListener = new ConnectListen;SayListen sListener = new SayListen;connect.addActionListener;say.addActionListener;void init setLayoutnew FlowLayout; setSize; setLocation; addnew JLabel; ip = new JTextField; add; addnew JLabel; port = new JTextField; add; connect = n

5、ew JButton; add; content = new JTextArea; JScrollPane scroll = new JScrollPane; add; addnew Label; cin = new JTextField; add; say = new JButton; add;class ConnectListen implements ActionListenerint portNum;public void actionPerformedconnect.setEnabled;try portNum =Integer.parseIntport.getText;socket

6、 = new Socketip.getText,portNum;ClientThread ct = new ClientThread;ct.start; catch class SayListen implements ActionListenerString str;public void actionPerformedtry PrintWriter out = new PrintWriternew BufferedWriternew OutputStreamWritersocket.getOutputStream,true;str=cin.getText;if!str.isEmptyout

7、.println;content.append;out.flush;cin.setText; catch class ClientThread extends Threadpublic void runtry BufferedReader in = new BufferedReadernew InputStreamReadersocket.getInputStream;String str;whilestr = in.readLine;/System.out.println ;content.append; catch 2.服务器端程序:import java.awt.*;import jav

8、a.awt.event.*;import java.util.*;import java.io.*;import .*;import javax.swing.*;public class FuWuQipublic static void mainMyFrame serve = new MyFrame;serve.setVisible;serve.setResizable;serve.setDefaultCloseOperation;class MyFrame extends JFrameJTextField port;JButton start;JTextArea content;JTextF

9、ield cin;JButton say;Socket socket;MyFrameinit;StartListen sListen = new StartListen;SayListen stListen = new SayListen;start.addActionListener;say.addActionListener;void init setLayoutnew FlowLayout;setSize;setLocation;addnew JLabel;port = new JTextField;add;start = new JButton;add;content = new JT

10、extArea;JScrollPane scroll = new JScrollPane;add;addnew JLabel;cin = new JTextField;add;say = new JButton;add;class StartListen implements ActionListenerpublic void actionPerformedstart.setEnabled;try ServerSocket s = new ServerSocketInteger.parseIntport.getText;socket = s.accept;PrintWriter out = n

11、ew PrintWriternew BufferedWriternew OutputStreamWritersocket.getOutputStream,true;out.println;content.append;ServerThread st = new ServerThread;st.start; catch class SayListen implements ActionListenerString str;public void actionPerformedtry PrintWriter out = new PrintWriternew BufferedWriternew Ou

12、tputStreamWritersocket.getOutputStream,true;str=cin.getText;if!str.isEmptyout.println;content.append;out.flush;cin.setText; catch class ServerThread extends Threadpublic void runtry BufferedReader in = new BufferedReadernew InputStreamReadersocket.getInputStream;String str;whilestr = in.readLine;content.append; catch 3. 测试结果:五、实验结论、分析、思考题与心得体会通过本次实验,我有以下几方面的收获、认识和体会:1.学会了编写带有图形化界面的程序。2.简单掌握了JFrame、JLabel、JTextField、JButton和JPanel等组件的方法。3. 能够独立解决部分编译和执行过程中的错误信息。4. 掌握事件处理的方法和常用的布局管理器。

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号