Java终极大作业报告.docx

上传人:b****7 文档编号:23664871 上传时间:2023-05-19 格式:DOCX 页数:47 大小:496.58KB
下载 相关 举报
Java终极大作业报告.docx_第1页
第1页 / 共47页
Java终极大作业报告.docx_第2页
第2页 / 共47页
Java终极大作业报告.docx_第3页
第3页 / 共47页
Java终极大作业报告.docx_第4页
第4页 / 共47页
Java终极大作业报告.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

Java终极大作业报告.docx

《Java终极大作业报告.docx》由会员分享,可在线阅读,更多相关《Java终极大作业报告.docx(47页珍藏版)》请在冰豆网上搜索。

Java终极大作业报告.docx

Java终极大作业报告

Java语言程序设计

展示报告

 

学院

专业

组长信息

组员信息1

组员信息2

组员信息3

指导教师

日期年月日

 

第一章选题概述

在一学期的Java课程学习之后,我们对Java语言有了一定的认识与了解。

在此基础上我们选择了题目一作为本组的目标,题目的相关要求如下(初期拟完成目标):

设计编程实现桌面文档共享与管理系统(100%)实现以下功能--

1.能够实现文件的下载与上传(客户端与服务器端)

2.能够通过安全认证与别人分享文档

3.能形成“圈子”,对朋友或这陌生人设置不同的安全级别

4.能够共享桌面与聊天

5.必须用数据库存储信息

6.必须用extends和implements关键字

7.必须用this关键字

8.必须用图形用户界面

9.界面设计与功能不限,充分发挥

题目一比较有挑战性,题目中的要求几乎涉及到了我们学过的所有知识,除此之外还需要我们课外学习一些课堂额外的知识,比如数据库的创建于连接。

由组长XXX1负责整合所学内容与指挥,组员查阅资料并编写程序,再和组长讨论并完成各自的模块设计。

我们设计了如下的流程图:

 

图1-1流程图

第二章完成情况

经过将近一个月左右的编程设计,我们实现的桌面文档共享与管理系统(90%)实现了以下功能--

1.能够实现文件的上传(客户端与服务器端)

2.能够通过安全认证与别人分享文档

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示、登陆未成功效果如图3-3示。

注册效果如图3-4所示,注册后数据库数据改变效果如图3-5示

图3-1登陆界面运行成功效果图

 

 

图3-2登陆成功效果图

 

图3-3登陆未成功效果图

 

图3-4注册界面效果图

2.核心代码

相关核心代码及其详细注解如下:

packageceshi;

importjava.awt.*;

importjava.awt.event.*;

importjava.io.PrintWriter;

importjavax.swing.*;

publicclasszcextendsJFrame{

Userlogin_user=newUser();

JTextFieldj1=newJTextField();//用户名的文本框

JPasswordFieldjpw=newJPasswordField();//密码的文本框

JButtonjb1=newJButton("登录");

JButtonjb2=newJButton("注册");

privateContainera=getContentPane();

publiczc(){

setLayout(null);

setVisible(true);

setBounds(600,320,400,160);

setTitle("登录窗口");

setDefaultCloseOperation(WindowConstants.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(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Stringname1=j1.getText();

Stringpassword1=newString(jpw.getPassword());

Stringpassword2=login_user.getPWD(name1);

Stringsecurity1=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.INFORMATION_MESSAGE);

newfwq();

}

else{

setVisible(false);

JOptionPane.showMessageDialog(null,"恭喜您登陆成功!

","消息",JOptionPane.INFORMATION_MESSAGE);

newkhd();

}

}

else{

JOptionPane.showMessageDialog(null,"对不起您的用户名或密码错误!

","错误",JOptionPane.ERROR_MESSAGE);

}

}

});

jb2.setBounds(270,55,60,30);

a.add(jb1);

a.add(jb2);

jb2.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Registerc=newRegister();

}

});

//添加用户名和密码的标签

JLabeljl1=newJLabel("用户名");

jl1.setBounds(40,10,60,30);

JLabeljl2=newJLabel("密码");

jl2.setBounds(40,55,60,30);

a.add(jl1);

a.add(jl2);

}

publicstaticvoidmain(Stringargsp[]){

newzc();

}

}

classRegisterextendsJFrame{

UserLogin_user=newUser();

JTextFieldjt1=newJTextField();

JTextFieldjt2=newJTextField();

JTextFieldjt3=newJTextField();

JTextFieldjt4=newJTextField();

JTextFieldjt5=newJTextField();

JButtonjb1=newJButton("注册");

JButtonjb2=newJButton("退出");

JLabeljl1=newJLabel("用户名");

JLabeljl2=newJLabel("密码");

JLabeljl3=newJLabel("重新输入密码");

JLabeljl4=newJLabel("邮箱");

JLabeljl5=newJLabel("身份");

JPaneljp=newJPanel();

privateContainera=getContentPane();

publicRegister(){

setLayout(null);

setVisible(true);

setTitle("注册");

setBounds(750,320,300,250);

jb1.setBounds(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.setBounds(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(newActionListener(){

publicvoidactionPerformed(ActionEvente){

Stringname1=jt1.getText();

Stringpassword1=newString(jt2.getText());

Stringrpassword1=newString(jt3.getText());

Stringgender1=newString(jt4.getText());

Stringsecurity1=newString(jt5.getText());

if(Login_user.jiancha(name1)==1){

JOptionPane.showMessageDialog(null,"对不起您的用户名已被注册!

","错误",JOptionPane.ERROR_MESSAGE);

return;

}

elseif(name1.length()>10){

JOptionPane.showMessageDialog(null,"用户名不能大于10位");

return;

}

elseif(password1.length()<6){

JOptionPane.showMessageDialog(null,"密码不能小于6位");

return;

}

elseif(password1.equals(name1)){

JOptionPane.showMessageDialog(null,"密码不能与用户名一致");

return;

}

elseif(!

password1.equals(rpassword1)){

JOptionPane.showMessageDialog(null,"两次输入的密码不一样");

return;

}

Login_user.insert(name1,password1,rpassword1,gender1,security1);

JOptionPane.showMessageDialog(null,"注册成功!

");

setVisible(false);

}

}

);

jb2.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

setVisible(false);

}

});

}

}

二、客户端界面展示

1.效果截图

经过我们的编程设计,实现了客户端的相关操作,其运行效果如图3-6所示,能够实现连接服务端、断开,选择文件并上传文件、发送、截屏等操作

 

图3-6客户端界面图

2.核心代码

核心代码如下:

packageceshi;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.border.TitledBorder;

importceshi.wjsc;

importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

import.Socket;

importjava.util.HashMap;

importjava.util.Map;

importjava.util.StringTokenizer;

publicclasskhdextendsJFrame{

UserLogin_user=newUser();

JButtonjb1=newJButton("发送");

JButtonjb2=newJButton("文件");

JButtonjb3=newJButton("连接");

JButtonjb4=newJButton("断开");

staticJButtonjb5=newJButton("上传");

JButtonjb6=newJButton("截屏");

staticJTextAreajt1=newJTextArea(1,1);

JTextAreajt2=newJTextArea(1,1);

JTextFieldjt3=newJTextField("127.0.0.1");

JTextFieldjt4=newJTextField("6999");

JTextFieldjt5=newJTextField("d");

JTextFieldjt6=newJTextField();

JTextFieldjt7=newJTextField();

JLabeljl1=newJLabel("聊天窗口");

JLabeljl2=newJLabel("写消息");

JLabeljl3=newJLabel("服务器IP");

JLabeljl4=newJLabel("端口");

JLabeljl5=newJLabel("昵称");

Jj1=newJ();

static=newFile("");

static;

privateSocketsocket;

privateSocketsocket2;

privatePrintWriterwriter;

privateBufferedReaderreader;

privateMessageThreadmessageThread;//负责接收消息的线程

privateMaponLineUsers=newHashMap();//所有在线用户

privatebooleanisConnected=false;

privateContainera=getContentPane();

publickhd(){

setLayout(null);

setVisible(true);

setTitle("聊天室");

setBounds(600,150,460,600);

jl1.setBounds(10,50,100,20);

JScrollPanejs1=newJScrollPane(jt1);

jt1.setEditable(false);

js1.setBounds(10,80,420,280);

a.add(js1);

a.add(jl1);

jl2.setBounds(10,420,100,20);

JScrollPanejs2=newJScrollPane(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);

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.setBounds(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(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

send();

}

});

jb2.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

intn=j1.showOpenDialog(null);

String=j1.getSelectedFile().toString();

if(n==J){

jt6.setText();

=new);

file=j1.getSelectedFile();

System.out.println(""+file);

}

}

});

jb3.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

intport;

if(isConnected){

JOptionPane.showMessageDialog(null,"已处于连接上状态,不要重复连接!

",

"错误",JOptionPane.ERROR_MESSAGE);

return;

}

try{

try{

port=Integer.parseInt(jt4.getText().trim());

}catch(NumberFormatExceptione2){

thrownewException("端口号不符合要求!

端口为整数!

");

}

StringhostIp=jt3.getText().trim();

Stringname=jt5.getText().trim();

if(name.equals("")||hostIp.equals("")){

thrownewException("姓名、服务器IP不能为空!

");

}

booleanflag=connectServer(port,hostIp,name);

if(flag==false){

thrownewException("与服务器连接失败!

");

}

setTitle(name);

JOptionPane.showMessageDialog(null,"成功连接!

");

}catch(Exceptionexc){

JOptionPane.showMessageDialog(null,exc.getMessage(),

"错误",JOptionPane.ERROR_MESSAGE);

}

}

});

jb4.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

if(!

isConnected){

JOptionPane.showMessageDialog(null,"已处于断开状态,不要重复断开!

",

"错误",JOptionPane.ERROR_MESSAGE);

return;

}

try{

booleanflag=closeConnection();//断开连接

if(flag==false){

thrownewException("断开连接发生异常!

");

}

JOptionPane.showMessageDialo

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

当前位置:首页 > 初中教育 > 英语

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

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