JAVA课程设计之管理系统和记事本.docx

上传人:b****5 文档编号:7605765 上传时间:2023-01-25 格式:DOCX 页数:96 大小:2.52MB
下载 相关 举报
JAVA课程设计之管理系统和记事本.docx_第1页
第1页 / 共96页
JAVA课程设计之管理系统和记事本.docx_第2页
第2页 / 共96页
JAVA课程设计之管理系统和记事本.docx_第3页
第3页 / 共96页
JAVA课程设计之管理系统和记事本.docx_第4页
第4页 / 共96页
JAVA课程设计之管理系统和记事本.docx_第5页
第5页 / 共96页
点击查看更多>>
下载资源
资源描述

JAVA课程设计之管理系统和记事本.docx

《JAVA课程设计之管理系统和记事本.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计之管理系统和记事本.docx(96页珍藏版)》请在冰豆网上搜索。

JAVA课程设计之管理系统和记事本.docx

JAVA课程设计之管理系统和记事本

 

 

选题:

学生管理系统记事本_

姓名:

班级:

学号:

指导老师:

_

设计时间:

2012.12.24到2012.1.4

 

一课程设计内容

1目的:

(1)掌握Java语言的程序设计方法;

(2)理论联系实际,进一步提高学生的软件开发技术;

(3)培养学生分析、解决问题的能力;

(4)提高学生实践论文撰写能力。

2任务及要求:

(1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;

(2)掌握JAVA基本编程技术和方法;

(3)掌握GUI图形界面编程技术;

(4)掌握数据库编程技术;

(5)掌握JAVA中文件管理

3课程设计题目:

(1)学生管理系统

(2)记事本

4设计必备知识

JDBC应用模型

JDBC应用系统开发中,通常有两种开发模型,一种是两层开发模型,一种是三层(或多层)开发模型。

1.两层开发模型

两层开发模型,分为前台和后台。

前台一端负责处理用户界面和交互,通过网络将SQL语句直接传送给数据库。

后台数据库负责处理请求,得到结果后把它们通过网络送回给用户。

用户所在的一端称为客户端(Client),数据库所在的一端称为服务器(Server)。

两层开发模型也称为客户机/服务器模式。

2.三层(或多层)开发模型

三层模型中,增加了服务的中间层,充当客户端和服务器端的接口。

客户端将命令发送到中间层,中间层再将SQL语句发送到数据库。

数据库处理语句并将结果返回给中间层,然后,中间层再将它们返回给客户端。

客户端可以是Java应用程序,也可以是浏览器。

当客户端是Java应用程序时,可以通过RMI(RemoteMethodInvocation)远程方法调用与中间层联系。

当客户端是浏览器时,可以通过HTTP协议将操作命令传送到中间层。

三层模型是开发的主流,通常可以提供更好的性能。

实体类的定义

在数据库程序中,通常需要定义实体类。

一般情况下,实体类的类名与表名一致,类的属性与表中字段一致,起封装信息的作用。

通过将多个数据的封装,可以在网络上进行更有效的传输。

同时,封装多个字段后,对表的操作更加方便。

例如,在迎新生管理系统中,建有表student,字段为学号(id)、姓名(name)、性别(sex)年龄(age)、班级(grade)地址(address)。

与表相对应的实体类为Student。

类的属性有:

privateStringid;

privateStringname;

privateintage;

privateStringsex;

privateStringgrade;

privateStringaddress;

与表的字段相同,封装了字段的信息。

定义实体类时,需要对属性定义setter()和getter()方法,这是封装的需要。

流的概念

包中定流是计算机各部件之间的数据流动,

Java将不同类型的输入、输出抽象为流(stream),用类似的方法来处理。

java.io义与输入、输出流相关的类和接口,构成了Java语言的I/O框架。

流的分类

按传输方向可分为输入流和输出流。

按内容可分为字节流和字符流。

输入流:

指从某个数据来源(如键盘,鼠标,文件等)输入的数据序列

输出流:

指将向某个数据目的地(如屏幕,文件,网络等)输出的数据序列

字符流:

是指数据序列的基本构成单位是16位的Unicode字符数据,如各类基于字符编码的文本文件

字节流:

是指数据序列的基本构成单位是8位的字节数据,如各类基于二进制数据的文件

字节流

(1)InputStream

字节输入流的所有类的父类,抽象类

从流中读取数据

intread();//读取一个字节的数据;到末尾时返回-1

intread(byteb[]);//将数据读取到字节数组,返回实际读取数目。

intread(byteb[],intoff,intlen);

intavailable();//返回目前可读取的字节数  

longskip(longn);//跳过n个字节,返回实际跳过的字节数

关闭流

close();//操作完毕后必须关闭,释放相关所有系统资源

(2)OutputStream

输出字节流的所有类的父类,抽象类。

输出数据

  voidwrite(intb);  //往流中写一个字节b

  voidwrite(byteb[]);//往流中写一个字节数组b

  voidwrite(byteb[],intoff,intlen);//把字节数组b中从下

标off开始,长度为len的字节写入流中

flush()      

刷新输出流,该方法将把缓冲区中所有数据发送到目的地。

关闭流

 close();//刷新并关闭流,释放与此流有关的所有系统资源

字符流

(1)、Reader

用于读取字符流的所有类的父类,抽象类

从流中读取数据

intread();//读取一个字符,读到文件结尾返回-1

intread(charb[]);//读取字符数组

intread(charb[],intoff,intlen);//读取字符数组的一部分

longskip(longn);//跳过n个字符,返回实际跳过的字符数

关闭流

close();//流操作完毕后必须关闭

(2)、Writer

写入字符流的所有类的父类,抽象类。

输出数据

   voidwrite(char[]b)  //往流中写入字符数组

voidwrite(intc)//写入单个字符

voidwrite(Stringstr)//往流中写一个字符串

voidwrite(charb[],intoff,intlen)//把字符数组b中从下

标off开始,长度为len的字符写入流中

voidwrite(Stringstr,intoff,intlen)//写入字符串的一部分

flush()      

刷新输出流,该方法将把缓冲区中所有数据发送到目的地。

关闭流

  close();//刷新并关闭流,释放与此流有关的所有系统资源

二学生管理系统

1需求分析

(1)流程图

 

2建立数据库

1、打开SQLServer,新建数据库,命名为student。

2、在新建的数据库中创建一张名为uu的表,

3、打开表,返回所有行。

 

4、在表中输入数据

5、在新建的数据库中创建一张命名为stu的表,

3建立数据库和Java的连接

1、打开控制面板,选择管理工具打开。

2、打开数据源(ODBC),选择添加。

3、选择SQLServer,单击完成按钮。

 

4、将数据源的名称命名为kk,服务器改为(Local),单击下一步。

5、单击下一步

6、选择相应的数据库,单击下一步

7、单击完成,实现了数据库和Java的连接

8、点击测试数据源

 

9、点击完成,就实现了数据源的添加

DAO:

新建一个Java类,命名为DAO

代码:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclassDAO{

protectedstaticStringdbCLassName="sun.jdbc.odbc.JdbcOdbcDriver";

protectedstaticStringdbURL="jdbc:

odbc:

kk";

privatestaticConnectionconn;

privateDAO(){//无参构造方法实现数据库的连接

try{

if(conn==null)

{

Class.forName(dbCLassName);//加载驱动

conn=DriverManager.getConnection(dbURL);//添加连接对象

}}catch(Exceptione)

{

e.printStackTrace();

}

}

publicstaticResultSetexecuteQuery(Stringsql)//查询方法

{try

{

if(conn==null)

newDAO();

returnconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);//创建执行对象

}catch(SQLExceptione)

{e.printStackTrace();

returnnull;//返回null}}

publicstaticintexecuteUpdate(Stringsql)//更新方法

{try

{if(conn==null)

newDAO();

Statementstat=conn.createStatement();//创建执行对象

returnstat.executeUpdate(sql);

}catch(SQLExceptione)

{e.printStackTrace();

return-1;//返回null}}

publicstaticvoidclose()//关闭方法

{try{

conn.close();

}catch(SQLExceptione)

{e.printStackTrace();}

finally{conn=null;}

}}

运行NetBeanSIDE7.0.1

新建一个名为JAVA课程设计的类并改名为登陆窗口

 

设计登录窗口如下图所示

新建一个名为JAVA课程设计的JFrame窗口并改名为操作窗口

最终设计的整个窗口如下图所示:

4主要功能代码

(1)增加功能

增加用户的窗口及代码为:

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

Stringpasswd=jTextField17.getText().trim();

Stringsex=jTextField16.getText().trim();

Stringage=jTextField18.getText().trim();

Stringgrade=jTextField19.getText().trim();

Stringaddress=jTextField20.getText().trim();

Stringsql="insertintoyyvalues('"+name+"','"+sex+"','"+passwd+"','"+age+"','"+grade+"','"+address+"')";

intk=DAO.executeUpdate(sql);

JOptionPane.showMessageDialog(null,"增加用户成功");

 

(2)修改功能

修改用户的窗口及代码为:

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

Stringpasswd=jTextField22.getText().trim();

Stringsex=jTextField23.getText().trim();

Stringage=jTextField24.getText().trim();

Stringgrade=jTextField25.getText().trim();

Stringaddress=jTextField26.getText().trim();

Stringsql="updateyysetpasswd='"+passwd+"',sex='"+sex+"',address='"+address+"',age='"+age+"',grade='"+grade+"'wherename='"+name+"'";

intk=DAO.executeUpdate(sql);

JOptionPane.showMessageDialog(null,"修改用户成功");

(3)删除功能

删除用户的窗口及代码为:

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

Stringsql="deletefromyywherename='"+name+"'";

intk=DAO.executeUpdate(sql);

JOptionPane.showMessageDialog(null,"删除用户成功");

(4)退出功能

退出系统的窗口及代码为:

System.exit(0);

 

(5)查询功能

查询信息的窗口及代码为:

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

Stringsql="select*fromyywherename='"+name+"'";

ResultSetk=DAO.executeQuery(sql);

try{

if(k.next()){

System.out.println(k.getString

(2)+",");

System.out.println(k.getString(3)+",");

System.out.println(k.getString(4)+",");

System.out.println(k.getString(5)+",");

System.out.println(k.getString(6)+",");

System.out.println(k.getString(7)+",");

}

//TODOaddyourhandlingcodehere:

}catch(SQLExceptionex){

Logger.getLogger(JAVA课程设计.class.getName()).log(Level.SEVERE,null,ex);

}

}

privatevoidjButton8ActionPerformed(java.awt.event.ActionEventevt){

jTextField14.setText(null);

}

 

三记事本

1需求分析(功能说明)

文件:

新建、打开、保存、另存为、退出

编辑:

全选、取消选择、复制、剪切、粘贴、查找、替换、删除

格式:

字体、颜色

合并:

将两篇不同的文档合成一篇文档

转换:

将当前打开文档中的字母全部转换成大写或者小写

比较:

比较两篇文档是否是一样的(忽略文档里面字母大小写)

运行NetBeanSIDE

 

2设计过程

新建一个项目

名字为:

jishiben

新建一个窗体

名字为book

增加桌面窗格

然后设置菜单

主界面

3功能或界面

 

以上是该记事本的全部功能

(1)打开界面

(2)保存界面

(3)查找替换界面

(4)字体设置界面和弹出式菜单

弹出式菜单

通过鼠标在文本区域右击弹出常用功能菜单

(5)合并和转换功能

文档1内容截图文档2内容截图

合并后截图

 

转换功能

输入abcdefghijk

点击“字母全部转换大写”后结果为:

在点击“字母全部小写”后结果为:

(6)比较和统计功能

文档1内容为123文档2功能为456

 

比较后结果为:

新建文档3:

内容为123

比较文档1与文档3结果为:

字数统计功能

当前文本区域内容为:

点击其他里面的文本字数

结果为:

(7)帮助(说明)功能4

4部分主要功能代码

打开

privatevoiddakaiActionPerformed(java.awt.event.ActionEventevt){

JFileChooserjfc=newJFileChooser();//打开;

jfc.showOpenDialog(jMenu1);

Stringfilename=jfc.getSelectedFile().getPath();

FileReaderinput=null;

try{

input=newFileReader(filename);

}catch(FileNotFoundExceptionex){

Logger.getLogger(book.class.getName()).log(Level.SEVERE,null,ex);

}

inti;

Strings="";

try{

while((i=input.read())!

=-1){

s=s+String.valueOf((char)i);

}

}catch(IOExceptionex){

Logger.getLogger(book.class.getName()).log(Level.SEVERE,null,ex);

}

wenben.setText(s);

}

新建

privatevoidxinjianActionPerformed(java.awt.event.ActionEventevt){

Stringcon=wenben.getText();

if(!

con.equals("")){//文本域里文本不为空

intresult=JOptionPane.showConfirmDialog(null,("是否要保存?

"),("保存文件..."),JOptionPane.YES_NO_CANCEL_OPTION);

if(result==JOptionPane.NO_OPTION){//不保存

wenben.setText("");

}

elseif(result==JOptionPane.CANCEL_OPTION){

}//取消新建}

elseif(result==JOptionPane.YES_OPTION)//选择保存

{JFileChooserjfc=newJFileChooser();

FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文件","txt");

jfc.setFileFilter(filter);

jfc.showSaveDialog(this);//显保存为文件对话框

Stringfilename=jfc.getSelectedFile().getPath();//获取所选文件名

FileWriteroutput;

try{

output=newFileWriter(filename);

output.write(this.wenben.getText());

output.flush();

output.close();

this.setTitle(filename);

}catch(IOExceptionex){

JOptionPane.showMessageDialog(null,"系统错误");

}

}}}

保存

privatevoidbaocunActionPerformed(java.awt.event.ActionEventevt){

JFileChooserjfc=newJFileChooser();//保存

FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文件","txt");

jfc.setFileFilter(filter);

jfc.showSaveDialog(this);//显示保存文件对话框

Stringfilename=jfc.getSelectedFile().getPath();//获取所选文件名

FileWriteroutput;

try{

output=newFileWriter(filename);

output.write(this.wenben.getText());

output.flush();

output.close();

this.setTitle(filename);

}catch(IOExceptionex){

//Logger.getLogger(jishiben.class.getName()).log(Level.SEVERE,null,ex);

}

}

另存为

privatevoidlingcunweiActionPerformed(java.awt.event.ActionEventevt){

JFileChooserjfc=newJFileChooser();

FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文件","txt");

jfc.setFileFilter(filter);

jfc.showSaveDialog(this);//显示保存文件对话框

Stringfilename=jfc.getSelectedFile().getPath();//获取所选文件名

FileWriteroutput;

try{output=newFileWriter(filename);

output.write(this.wenben.getText());

output.flush();

output.close();

this.setTitle(filename);

}catch(IOExceptionex){

JOptionPane.showMessageDialog(null,"系统错误");

}

}

退出

privatevoidtuichuActionPerformed(java.awt.event.ActionEventevt){

Object[]options={

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

当前位置:首页 > 法律文书 > 起诉状

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

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