java课程设计.docx

上传人:b****2 文档编号:3014008 上传时间:2023-05-05 格式:DOCX 页数:39 大小:844.22KB
下载 相关 举报
java课程设计.docx_第1页
第1页 / 共39页
java课程设计.docx_第2页
第2页 / 共39页
java课程设计.docx_第3页
第3页 / 共39页
java课程设计.docx_第4页
第4页 / 共39页
java课程设计.docx_第5页
第5页 / 共39页
java课程设计.docx_第6页
第6页 / 共39页
java课程设计.docx_第7页
第7页 / 共39页
java课程设计.docx_第8页
第8页 / 共39页
java课程设计.docx_第9页
第9页 / 共39页
java课程设计.docx_第10页
第10页 / 共39页
java课程设计.docx_第11页
第11页 / 共39页
java课程设计.docx_第12页
第12页 / 共39页
java课程设计.docx_第13页
第13页 / 共39页
java课程设计.docx_第14页
第14页 / 共39页
java课程设计.docx_第15页
第15页 / 共39页
java课程设计.docx_第16页
第16页 / 共39页
java课程设计.docx_第17页
第17页 / 共39页
java课程设计.docx_第18页
第18页 / 共39页
java课程设计.docx_第19页
第19页 / 共39页
java课程设计.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java课程设计.docx

《java课程设计.docx》由会员分享,可在线阅读,更多相关《java课程设计.docx(39页珍藏版)》请在冰点文库上搜索。

java课程设计.docx

java课程设计

郑州轻工业学院

课程设计任务书

题目记事本程序

专业、班级互联网09-1班学号540912010120姓名孟繁兴

主要内容、基本要求、主要参考资料等:

使用图形用户界面实现。

能实现编辑、保存、另存为、查找替换等功能。

参考文献:

郑晓艳Java程序设计教程清华大学出版社第一版

雍俊海Java程序设计习题集清华大学出版社第一版

金保华Java程序设计实用教程科学出版社第一版

完成期限:

2011/7/2

指导教师签名:

课程负责人签名:

2011年7月2日

郑州轻工业学院本科

Java高级程序设计课程设计总结报告

 

设计题目:

记事本程序

学生姓名:

孟繁兴

院系:

国际教育学院

专业:

互联网

班级:

09-1

学号:

540912010120

指导教师:

黄永丽、宋保卫、金松河

 

2011年7月2日

 

一、引言

1.1项目的名称

记事本程序

1.2项目背景和目标

背景:

掌握图形用户界面设计方法,掌握常用swing组件的使用和事件处理程序设计;掌握文件的I/O操作或程序对数据库的访问。

目标:

利用eclipse开发环境,使用图形用户界面实现,能实现编辑、保存、另存为、查找替换等功能。

二、需求分析

2.1系统概述

使用图形用户界面实现,能实现编辑、保存、另存为、查找替换等功能。

2.2系统运行环境

Jdk-eclipse

2.3功能需求描述

能实现编辑、保存、另存为、查找替换等功能。

三、总体设计

3.1开发与设计的总体思想

a.分析题目

b.根据自己的想法搭建程序界面

c.为各个菜单项添加事件处理程序

3.2模块设计

a.主界面模块

图1

b.菜单栏界面模块

图2

图3

图4

图5

 

四、详细设计

1主界面模块

publicclassEditorextendsJFrameimplementsActionListener{

privateJMenufile,edit,view,about;

privateJMenuBarjmb;

privateJTextAreajta;

privateJScrollPanejsp;

privateJPopupMenupop;

privatebooleanwasSaved=true;

privateFilecurrentFile=null;

privateObjecttext;

publicstaticvoidmain(String[]args){

newEditor().init();

}

publicEditor(){

this.setName("文本编辑器1.0");

pop=newJPopupMenu();

file=newJMenu("文件");

edit=newJMenu("编辑");

view=newJMenu("查看");

about=newJMenu("关于");

jmb=newJMenuBar();

jta=newJTextArea(30,30);

jsp=newJScrollPane(jta);

jta.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseClicked(MouseEventarg0){

if(arg0.getButton()==MouseEvent.BUTTON1){

pop.setVisible(false);

}

}

@Override

publicvoidmouseReleased(MouseEvente){

if(e.getButton()==MouseEvent.BUTTON3){

pop.show(edit,e.getX(),e.getY());

pop.setVisible(true);

}

}

});

jta.getDocument().addDocumentListener(newDocumentListener(){

@Override

publicvoidchangedUpdate(DocumentEventarg0){

wasSaved=false;

}

@Override

publicvoidinsertUpdate(DocumentEventarg0){

wasSaved=false;

}

@Override

publicvoidremoveUpdate(DocumentEventarg0){

wasSaved=false;

}

});

JMenuItemitem;

file.add(item=newJMenuItem("新建"));

item.addActionListener(this);

file.add(item=newJMenuItem("打开..."));

item.addActionListener(this);

file.addSeparator();

file.add(item=newJMenuItem("保存"));

item.addActionListener(this);

file.add(item=newJMenuItem("另存为..."));

item.addActionListener(this);

file.addSeparator();

file.add(item=newJMenuItem("退出"));

item.addActionListener(this);

file.addSeparator();

edit.add(item=newJMenuItem("复制"));

item.addActionListener(this);

edit.add(item=newJMenuItem("粘贴"));

item.addActionListener(this);

edit.add(item=newJMenuItem("剪切"));

item.addActionListener(this);

edit.addSeparator();

edit.add(item=newJMenuItem("替换..."));

item.addActionListener(this);

edit.add(item=newJMenuItem("查找..."));

item.addActionListener(this);

edit.addSeparator();

edit.add(item=newJMenuItem("全选"));

item.addActionListener(this);

view.add(item=newJMenuItem("字体..."));

item.addActionListener(this);

view.add(item=newJMenuItem("颜色..."));

item.addActionListener(this);

about.add(item=newJMenuItem("关于..."));

item.addActionListener(this);

}

2.菜单栏界面模块

A.文件菜单模块

保存界面截图

图6

图7

保存界面代码

if(command.equals("保存")){

if(!

wasSaved){

if(currentFile==null){

JFileChooserjfc=newJFileChooser();

jfc.showSaveDialog(this);

Filef=jfc.getSelectedFile();

if(f!

=null){

savetoFile(f);

currentFile=f;

}

}else

savetoFile(currentFile);

}

return;

}

publicvoidsavetoFile(Filef){

FileWriterfw=null;

try{

fw=newFileWriter(f);

fw.write(jta.getText());

fw.flush();

wasSaved=true;

}catch(IOExceptione){

e.printStackTrace();

}finally{

if(fw!

=null)

try{

fw.close();

}catch(IOExceptione){

}

}

}

 

打开已保存文件界面截图

图8

图9

打开已保存文件代码

if(command.equals("打开...")){

if(askSave()==0){

return;

}

if(askSave()==1){

jta.setText("");

}

JFileChooserjfc=newJFileChooser();

jfc.showSaveDialog(this);

Filef=jfc.getSelectedFile();

if(f!

=null){

currentFile=f;

openFile(f);

}

return;

}

publicvoidopenFile(Filef){

FileReaderfr=null;

BufferedReaderbr=null;

try{

fr=newFileReader(f);

br=newBufferedReader(fr);

Stringstr=null;

while((str=br.readLine())!

=null){

jta.append(str+"\n");

}

}catch(Exceptione){

e.printStackTrace();

}finally{

try{

Thread.sleep(200);

}catch(InterruptedExceptione1){

}

wasSaved=false;

if(br!

=null)

try{

br.close();

}catch(Exceptione){

}

if(fr!

=null)

try{

fr.close();

}catch(Exceptione){

}

}

}

文件另存为界面截图

图10

图11

 

文件另存为代码

if(command.equals("另存为...")){

JFileChooserjfc=newJFileChooser();

jfc.showSaveDialog(this);

Filef=jfc.getSelectedFile();

if(f!

=null){

savetoFile(f);

currentFile=f;

}

return;

}

publicvoidsavetoFile(Filef){

FileWriterfw=null;

try{

fw=newFileWriter(f);

fw.write(jta.getText());

fw.flush();

wasSaved=true;

}catch(IOExceptione){

e.printStackTrace();

}finally{

if(fw!

=null)

try{

fw.close();

}catch(IOExceptione){

}

}

}

 

退出界面截图

图12

图13

 

退出界面代码

if(command.equals("退出")){

if(askSave()==0){

return;

}else{

System.exit(0);

}

}

publicintaskSave(){

if(!

wasSaved){//如果没有保存

intchoice=JOptionPane.showConfirmDialog(this,"是否保存文件?

",

"保存文件?

",JOptionPane.YES_NO_CANCEL_OPTION);

switch(choice){

caseJOptionPane.OK_OPTION:

//要求保存文件

if(currentFile==null){//如果是新建文件

JFileChooserjfc=newJFileChooser();

jfc.showSaveDialog(this);

Filef=jfc.getSelectedFile();

if(f!

=null){

savetoFile(f);

currentFile=f;

}

}else{//如果是打开的旧文件

savetoFile(currentFile);

}

return1;

caseJOptionPane.NO_OPTION:

return1;//不保存文件

caseJOptionPane.CANCEL_OPTION:

return0;//取消

}

}

return-1;

}

}

 

B.编辑菜单模块

复制模块截图

图14

复制模块代码

if(command.equals("复制")){

jta.copy();

pop.setVisible(false);

}

粘贴模块截图

图15

图16

粘贴模块代码

if(command.equals("粘贴")){

jta.paste();

pop.setVisible(false);

}

剪切界面截图

图17

图18

剪切界面代码

if(command.equals("剪切")){

jta.cut();

pop.setVisible(false);

}

全选界面截图

图19

图20

全选界面代码

if(command.equals("全选")){

jta.selectAll();

}

C.查看菜单模块

颜色菜单模块截图

图21

图22

图23

 

图24

颜色菜单模块代码

if(command.equals("颜色...")){

Colorc=JColorChooser.showDialog(this,"请选择文字颜色",Color.BLACK);

jta.setForeground(c);

return;

}

五、实现和源程序

importjava.awt.BorderLayout;

importjava.awt.Color;

importjava.awt.Font;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;

importjavax.swing.AbstractButton;

importjavax.swing.JColorChooser;

importjavax.swing.JFileChooser;

importjavax.swing.JFrame;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JOptionPane;

importjavax.swing.JPopupMenu;

importjavax.swing.JScrollPane;

importjavax.swing.JTextArea;

importjavax.swing.event.DocumentEvent;

importjavax.swing.event.DocumentListener;

importjavax.swing.text.JTextComponent;

publicclassEditorextendsJFrameimplementsActionListener{

privateJMenufile,edit,view,about;

privateJMenuBarjmb;

privateJTextAreajta;

privateJScrollPanejsp;

privateJPopupMenupop;

privatebooleanwasSaved=true;

privateFilecurrentFile=null;

privateObjecttext;

publicstaticvoidmain(String[]args){

newEditor().init();

}

publicEditor(){

this.setName("文本编辑器1.0");

pop=newJPopupMenu();

file=newJMenu("文件");

edit=newJMenu("编辑");

view=newJMenu("查看");

about=newJMenu("关于");

jmb=newJMenuBar();

jta=newJTextArea(30,30);

jsp=newJScrollPane(jta);

jta.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseClicked(MouseEventarg0){

if(arg0.getButton()==MouseEvent.BUTTON1){

pop.setVisible(false);

}

}

@Override

publicvoidmouseReleased(MouseEvente){

if(e.getButton()==MouseEvent.BUTTON3){

pop.show(edit,e.getX(),e.getY());

pop.setVisible(true);

}

}

});

jta.getDocument().addDocumentListener(newDocumentListener(){

@Override

publicvoidchangedUpdate(DocumentEventarg0){

wasSaved=false;

}

@Override

publicvoidinsertUpdate(DocumentEventarg0){

wasSaved=false;

}

@Override

publicvoidremoveUpdate(DocumentEventarg0){

wasSaved=false;

}

});

JMenuItemitem;

file.add(item=newJMenuItem("新建"));

item.addActionListener(this);

file.add(item=newJMenuItem("打开..."));

item.addActionListener(this);

file.addSeparator();

file.add(item=newJMenuItem("保存"));

item.addActionListener(this);

file.add(item=newJMenuItem("另存为..."));

item.addActionListener(this);

file.addSeparator();

file.add(item=newJMenuItem("退出"));

item.addActionListener(this);

file.addSeparator();

edit.add(item=n

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2