ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:496.58KB ,
资源ID:23664871      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23664871.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java终极大作业报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java终极大作业报告.docx

1、Java终极大作业报告Java语言程序设计 展示报告学 院 专 业 组长信息 组员信息1 组员信息2 组员信息3 指导教师 日 期 年 月 日第一章 选题概述 在一学期的Java课程学习之后,我们对Java语言有了一定的认识与了解。在此基础上我们选择了题目一作为本组的目标,题目的相关要求如下(初期拟完成目标): 设计编程实现桌面文档共享与管理系统(100%)实现以下功能-1. 能够实现文件的下载与上传(客户端与服务器端)2. 能够通过安全认证与别人分享文档3. 能形成“圈子”,对朋友或这陌生人设置不同的安全级别4. 能够共享桌面与聊天5. 必须用数据库存储信息6. 必须用extends 和 i

2、mplements 关键字7. 必须用this关键字8. 必须用图形用户界面9. 界面设计与功能不限,充分发挥题目一比较有挑战性,题目中的要求几乎涉及到了我们学过的所有知识,除此之外还需要我们课外学习一些课堂额外的知识,比如数据库的创建于连接。由组长XXX1负责整合所学内容与指挥,组员查阅资料并编写程序,再和组长讨论并完成各自的模块设计。我们设计了如下的流程图: 图1-1 流程图 第二章 完成情况 经过将近一个月左右的编程设计,我们实现的桌面文档共享与管理系统(90%)实现了以下功能-1.能够实现文件的上传(客户端与服务器端)2.能够通过安全认证与别人分享文档3.能形成“圈子”,对朋友或这陌生

3、人设置不同的安全级别4.能够聊天并截取屏幕信息5.采用了数据库存储信息6.采用了extends 和 implements 关键字7.采用了this关键字8.采用了图形用户界面程序的编程设计 图2-1 类成果展示图其中jp.java功能为截图;khd.java功能为建立客户端;sc.java功能为文件上传线程;zc.java功能为实现用户登录;Main功能为总体调用;fwq.java功能为建立服务端;User.java功能为实现与数据库的连接(直连)。 第三章 成果展示一、登录注册界面展示 1.效果截图经过我们的编程设计,实现了用户的登录,其运行效果如图3-1所示、登陆成功效果如图3-2示、登陆

4、未成功效果如图3-3示。注册效果如图3-4所示,注册后数据库数据改变效果如图3-5示 图3-1 登陆界面运行成功效果图 图3-2 登陆成功效果图 图3-3 登陆未成功效果图 图3-4 注册界面效果图 2.核心代码相关核心代码及其详细注解如下:package ceshi;import java.awt.*;import java.awt.event.*;import java.io.PrintWriter;import javax.swing.*;public class zc extends JFrame User login_user=new User(); JTextField j1=ne

5、w JTextField();/用户名的文本框 JPasswordField jpw=new JPasswordField();/密码的文本框 JButton jb1=new JButton(登录); JButton jb2=new JButton(注册); private Container a = getContentPane(); public zc() setLayout(null); setVisible(true); setBounds(600,320,400,160); setTitle(登录窗口); setDefaultCloseOperation(WindowConstant

6、s.EXIT_ON_CLOSE);/控制窗口关闭 /添加登录和注册的按钮 jb1.setBounds(270,10,60,30); j1.setBounds(100,15,100,20); jpw.setBounds(100,60,100,20); a.add(j1); a.add(jpw); jb1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String name1=j1.getText(); String password1=new String(jpw.getPass

7、word(); String password2=login_user.getPWD(name1); String security1=login_user.getSCT(name1); if(password2.trim().equals(password1.trim() if(security1.trim().equals(管理员) /System.out.println(3 + login_user.getPWD(name1); setVisible(false); JOptionPane.showMessageDialog(null, 恭喜您登陆成功!, 消息, JOptionPane

8、.INFORMATION_MESSAGE); new fwq(); else setVisible(false); JOptionPane.showMessageDialog(null, 恭喜您登陆成功!, 消息, JOptionPane.INFORMATION_MESSAGE); new khd(); else JOptionPane.showMessageDialog(null, 对不起您的用户名或密码错误!, 错误,JOptionPane.ERROR_MESSAGE); ); jb2.setBounds(270,55,60,30); a.add(jb1); a.add(jb2); jb2

9、.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Register c=new Register(); ); /添加用户名和密码的标签 JLabel jl1=new JLabel(用户名); jl1.setBounds(40,10,60,30); JLabel jl2=new JLabel(密 码); jl2.setBounds(40,55,60,30); a.add(jl1); a.add(jl2); public static void main(String argsp)

10、new zc(); class Register extends JFrame User Login_user = new User(); JTextField jt1=new JTextField(); JTextField jt2=new JTextField(); JTextField jt3=new JTextField(); JTextField jt4=new JTextField(); JTextField jt5=new JTextField(); JButton jb1=new JButton(注册); JButton jb2=new JButton(退出); JLabel

11、jl1=new JLabel(用户名); JLabel jl2=new JLabel(密 码); JLabel jl3=new JLabel(重新输入密码); JLabel jl4=new JLabel(邮 箱); JLabel jl5=new JLabel(身 份); JPanel jp=new JPanel(); private Container a = getContentPane(); public Register() setLayout(null); setVisible(true); setTitle(注册); setBounds(750,320,300,250); jb1.s

12、etBounds(10,150,60,30); jb2.setBounds(140,150,60,30); jl1.setBounds(10,10,100,30); jl2.setBounds(10,35,100,30); jl3.setBounds(10,60,100,30); jl4.setBounds(10,85,100,30); jl5.setBounds(10,110,100,30); jt1.setBounds(120,15,130,20); jt2.setBounds(120,40,130,20); jt3.setBounds(120,65,130,20); jt4.setBou

13、nds(120,90,130,20); jt5.setBounds(120,115,130,20); a.add(jb1); a.add(jb2); a.add(jl1); a.add(jl2); a.add(jl3); a.add(jl4); a.add(jl5); a.add(jt1); a.add(jt2); a.add(jt3); a.add(jt4); a.add(jt5); jb1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String name1=jt1.ge

14、tText(); String password1=new String(jt2.getText(); String rpassword1=new String(jt3.getText(); String gender1=new String(jt4.getText(); String security1=new String(jt5.getText(); if (Login_user.jiancha(name1)=1) JOptionPane.showMessageDialog(null, 对不起您的用户名已被注册!, 错误,JOptionPane.ERROR_MESSAGE); retur

15、n; else if(name1.length()10) JOptionPane.showMessageDialog(null,用户名不能大于10位); return; else if(password1.length()6) JOptionPane.showMessageDialog(null,密码不能小于6位); return; else if (password1.equals(name1) JOptionPane.showMessageDialog(null,密码不能与用户名一致); return; else if (!password1.equals(rpassword1) JOpt

16、ionPane.showMessageDialog(null,两次输入的密码不一样 ); return; Login_user.insert(name1, password1,rpassword1,gender1,security1); JOptionPane.showMessageDialog(null, 注册成功!); setVisible(false); ); jb2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) setVisible(false); ); 二、客户端界面

17、展示1.效果截图经过我们的编程设计,实现了客户端的相关操作,其运行效果如图3-6所示,能够实现连接服务端、断开,选择文件并上传文件、发送、截屏等操作 图3-6 客户端界面图2.核心代码核心代码如下:package ceshi;import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.TitledBorder; import ceshi.wjsc;import java.awt.*;import java.awt.event.*;import java.io.*; imp

18、ort .Socket; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer;public class khd extends JFrame User Login_user=new User(); JButton jb1=new JButton(发送); JButton jb2=new JButton(文件); JButton jb3=new JButton(连接); JButton jb4=new JButton(断开); static JButton jb5=new JButton

19、(上传); JButton jb6=new JButton(截屏); static JTextArea jt1=new JTextArea(1,1); JTextArea jt2=new JTextArea(1,1); JTextField jt3=new JTextField(127.0.0.1); JTextField jt4=new JTextField(6999); JTextField jt5=new JTextField(d); JTextField jt6=new JTextField(); JTextField jt7=new JTextField(); JLabel jl1=

20、new JLabel(聊天窗口); JLabel jl2=new JLabel(写消息); JLabel jl3=new JLabel(服务器IP); JLabel jl4=new JLabel(端口); JLabel jl5=new JLabel(昵称); J j1 = new J(); static = new File(); static ; private Socket socket; private Socket socket2; private PrintWriter writer; private BufferedReader reader; private MessageThr

21、ead messageThread;/ 负责接收消息的线程 private Map onLineUsers = new HashMap();/ 所有在线用户 private boolean isConnected = false; private Container a = getContentPane(); public khd() setLayout(null); setVisible(true); setTitle(聊天室); setBounds(600,150,460,600); jl1.setBounds(10,50,100,20); JScrollPane js1 = new JS

22、crollPane(jt1); jt1.setEditable(false); js1.setBounds(10,80,420,280); a.add(js1); a.add(jl1); jl2.setBounds(10,420,100,20); JScrollPane js2 = new JScrollPane(jt2); js2.setBounds(10,440,420, 80); a.add(js2); a.add(jl2); jb1.setBounds(250,370,60,30); a.add(jb1); jb3.setBounds(310,370,60,30); a.add(jb3

23、); jb4.setBounds(370,370,60,30); a.add(jb4); jb5.setBounds(190,370,60,30); a.add(jb5); jb6.setBounds(10,370,60,30); a.add(jb6); jb2.setBounds(70,370,60,30); a.add(jb2); jt6.setBounds(130,370,60,30); a.add(jt6); jt3.setBounds(60,10,100,20); a.add(jt3); jl3.setBounds(10,10,100,20); a.add(jl3); jt4.set

24、Bounds(200,10,100, 20); a.add(jt4); jl4.setBounds(168,10, 100, 20); a.add(jl4); jt5.setBounds(330,10,100, 20); a.add(jt5); jl5.setBounds(300,10, 100, 20); a.add(jl5); /按钮控制 jb1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) send(); ); jb2.addActionListener(new A

25、ctionListener() public void actionPerformed(ActionEvent e) int n = j1.showOpenDialog(null); String = j1.getSelectedFile().toString(); if (n = J) jt6.setText(); = new ); file = j1.getSelectedFile(); System.out.println(+file); ); jb3.addActionListener(new ActionListener() public void actionPerformed(A

26、ctionEvent e) int port; if (isConnected) JOptionPane.showMessageDialog(null, 已处于连接上状态,不要重复连接!, 错误, JOptionPane.ERROR_MESSAGE); return; try try port = Integer.parseInt(jt4.getText().trim(); catch (NumberFormatException e2) throw new Exception(端口号不符合要求!端口为整数!); String hostIp = jt3.getText().trim(); St

27、ring name = jt5.getText().trim(); if (name.equals() | hostIp.equals() throw new Exception(姓名、服务器IP不能为空!); boolean flag = connectServer(port, hostIp, name); if (flag = false) throw new Exception(与服务器连接失败!); setTitle(name); JOptionPane.showMessageDialog(null, 成功连接!); catch (Exception exc) JOptionPane.

28、showMessageDialog(null, exc.getMessage(), 错误, JOptionPane.ERROR_MESSAGE); ); jb4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (!isConnected) JOptionPane.showMessageDialog(null, 已处于断开状态,不要重复断开!, 错误, JOptionPane.ERROR_MESSAGE); return; try boolean flag = closeConnection();/ 断开连接 if (flag = false) throw new Exception(断开连接发生异常!); JOptionPane.showMessageDialo

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1