java课程设计报告java课程设计毕业资料Word格式文档下载.docx
- 文档编号:16211278
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:17
- 大小:62.90KB
java课程设计报告java课程设计毕业资料Word格式文档下载.docx
《java课程设计报告java课程设计毕业资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java课程设计报告java课程设计毕业资料Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
当然对文本编辑操作仍然占据着重要地位,记事本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能。
1.2需求分析
程序设计主要分为两大部分:
简单GUI设计和程序功能设计。
通过GUI设计实现图形用户界面,提供图形菜单,方便用户操作。
使用Java语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷方式,对文档内容进行编辑操作,并且能够顺利退出的程序。
通过设计和实现一个具有基本功能的文本编辑器,提高我们对Java语言设计的掌握能力,理论联系实际,进一步提高软件开发技术,从而培养我们分析、解决问题的能力。
2系统设计
2.1功能设计
根据系统自带的文档编辑器的特征设计,包括如下的功能模块:
一、整体结构框架包括:
菜单栏和文档编辑区
二、每个框架分别包含不同的子框架,各个模块的具体框架:
1.菜单栏:
文件、编辑、工具、帮助
2.菜单栏中各个子菜单功能
文件:
新建、打开、保存、另存为、退出
编辑:
剪切、复制、粘贴
工具:
查找、替换
3.子菜单功能的实现主要的几个功能介绍
1)打开与另存为:
两个窗体调用系统函数直接利用,注意格式的选择
2)查找:
查找内容、查找、查找下一个
4.文本编辑区
监视文本内容是否改变、监听光标所在位置
2.2系统运行环境与开发工具
开发环境与工具:
jdk2.0EclipseSDK
3系统实施
3.1源程序
importjavax.swing.*;
importjava.awt.*;
importjava.io.*;
importjava.awt.event.*;
publicclassTxtEditorextendsJFrameimplementsActionListener{
Stringfile_name;
Stringfile_dir;
StringtempString;
//上次保存后的文件名和地址
StringfileName="
"
;
JPanelx=newJPanel();
JTextAreawen=newJTextArea(20,50);
JMenuItemziti=newJMenuItem("
字体"
);
JMenuItema=newJMenuItem("
普通"
//定义菜单项
JMenuItemxin=newJMenuItem("
新建"
JMenuItemopen=newJMenuItem("
打开"
JMenuItemsave=newJMenuItem("
保存"
JMenuItemlsave=newJMenuItem("
另存为"
JMenuItemtui=newJMenuItem("
退出"
JMenuItemcut=newJMenuItem("
剪切"
JMenuItemcopy=newJMenuItem("
复制"
JMenuItemcast=newJMenuItem("
粘贴"
JMenuItemdelete=newJMenuItem("
删除"
JMenuItemb=newJMenuItem("
粗体"
JMenuItemc=newJMenuItem("
斜体"
TxtEditor(){
super("
文本编辑器"
//对话框
setBounds(250,100,700,450);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
intoption=JOptionPane.showConfirmDialog(
TxtEditor.this,"
确定要退出吗..."
"
系统和你对话"
JOptionPane.YES_NO_OPTION);
if(option==JOptionPane.YES_OPTION)
if(e.getWindow()==TxtEditor.this)
{
System.exit(0);
}
else
return;
}
});
//热键设置
xin.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,ActionEvent.CTRL_MASK));
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));
save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));
cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK));
copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK));
cast.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,ActionEvent.CTRL_MASK));
//定义面板
//x.add(
add(newJScrollPane(wen));
//);
//滚动条
wen.setFont(newFont("
楷体"
Font.PLAIN,20));
//wen.setBackground(Color.blue);
//add(x);
//菜单栏的创建
JMenuBarcai=newJMenuBar();
this.setJMenuBar(cai);
cai.setOpaque(true);
JMenujian=newJMenu("
文件"
jian.add(xin);
jian.add(open);
jian.add(save);
jian.add(lsave);
jian.addSeparator();
jian.add(tui);
cai.add(jian);
JMenubian=newJMenu("
编辑"
bian.add(cut);
bian.add(copy);
bian.add(cast);
bian.add(delete);
cai.add(bian);
JMenugeshi=newJMenu("
格式"
JMenuoptionsMenu=newJMenu("
geshi.add(optionsMenu);
optionsMenu.add(a);
optionsMenu.add(b);
optionsMenu.add(c);
cai.add(geshi);
//增加监听器
xin.addActionListener(this);
open.addActionListener(this);
save.addActionListener(this);
lsave.addActionListener(this);
tui.addActionListener(this);
cut.addActionListener(this);
copy.addActionListener(this);
cast.addActionListener(this);
delete.addActionListener(this);
ziti.addActionListener(this);
a.addActionListener(this);
b.addActionListener(this);
c.addActionListener(this);
//文本框锁定
//this.setResizable(false);
//重写方法
publicvoidactionPerformed(ActionEvente){
StringactionCommand=e.getActionCommand();
if(e.getSource()instanceofJMenu);
{
if(e.getSource()==xin){
newfile();
}
elseif(e.getSource()==open){
openfile();
elseif(e.getSource()==save){
savefile();
elseif(e.getSource()==lsave){
lsavefile();
elseif(e.getSource()==cut){
cutfile();
elseif(e.getSource()==copy){
copyfile();
elseif(e.getSource()==cast){
castfile();
elseif(e.getSource()==delete){
deletefile();
elseif(e.getSource()==a){
afile();
}
elseif(e.getSource()==b){
bfile();
elseif(e.getSource()==c){
cfile();
elseif("
.equals(actionCommand))
System.exit(0);
}
//方法定义
publicvoidnewfile(){
wen.setText(null);
fileName="
//打开
publicvoidopenfile(){
StringfileName=null;
FileDialogdf=newFileDialog(this,"
打开文件"
FileDialog.LOAD);
df.setVisible(true);
//建立新文件
Filef=newFile(df.getDirectory()+df.getFile());
//得到文件名
fileName=df.getDirectory()+df.getFile();
//用此文件的长度建立一个字符数组(特别标注)
charch[]=newchar[(int)f.length()];
//异常处理
try
{
//读出数据,并存入字符数组ch中
BufferedReaderbw=newBufferedReader(newFileReader(f));
bw.read(ch);
bw.close();
catch(FileNotFoundExceptionfe){
System.out.println("
filenotfound"
catch(IOExceptionie){
IOerror"
Strings=newString(ch);
wen.setText(s);
//保存
publicvoidsavefile(){
if(fileName.equals("
)){
FileDialogdf=newFileDialog(this,"
保存文件"
FileDialog.SAVE);
df.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEventee){
});
df.setVisible(true);
Strings=wen.getText();
Filef=newFile(df.getDirectory()+df.getFile());
fileName=df.getDirectory()+df.getFile();
BufferedWriterbw=newBufferedWriter(newFileWriter(f));
bw.write(s,0,s.length());
catch(FileNotFoundExceptionfe_){
catch(IOExceptionie_)
IOerror"
}
//如果文件已经保存过
else
Filef=newFile(fileName);
//另存为
publicvoidlsavefile(){
df.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEventee){
System.exit(0);
});
Strings=wen.getText();
try
Filef=newFile(df.getDirectory()+df.getFile());
BufferedWriterbw=newBufferedWriter(newFileWriter(f));
bw.write(s,0,s.length());
bw.close();
catch(FileNotFoundExceptionfe_){
System.out.println("
catch(IOExceptionie_)
}
//剪切
publicvoidcutfile(){
tempString=wen.getSelectedText();
StringBuffertmp=newStringBuffer(wen.getText());
intstart=wen.getSelectionStart();
intlen=wen.getSelectedText().length();
tmp.delete(start,start+len);
wen.setText(tmp.toString());
//复制
publicvoidcopyfile(){
tempString=wen.getSelectedText();
//粘贴
publicvoidcastfile(){
StringBuffertmp=newStringBuffer(wen.getText());
//得到要粘贴的位置
intstart=wen.getSelectionStart();
tmp.insert(start,tempString);
//用新文本设置原文本
wen.setText(tmp.toString());
//删除
publicvoiddeletefile(){
intlen=wen.getSelectedText().length();
tmp.delete(start,start+len);
//字体
publicvoidafile(){
wen.setFont(newFont("
Font.PLAIN,wen.getFont().getSize()));
//普通文字
publicvoidbfile(){
Font.BOLD,wen.getFont().getSize()));
//粗体文字
publicvoidcfile(){
Font.ITALIC,wen.getFont().getSize()));
//斜体文字
publicstaticvoidmain(String[]args){
TxtEditorw=newTxtEditor();
w.pack();
w.setVisible(true);
}
3.2系统测试及部分截图
4系统测试
三、综合设计总结或结论
虽然这次试验比较简单,但是做起来还是比较吃力,由此可见,我在java学习上还不够透彻和明白。
通过这次的实验,我对java编程有了更加深刻的了解,遇到问题的时候也能对问题有一个初步的判断,并及时改正。
同时也发现自己在java的学习中还只是停留在入门的阶段,还有很多知识都不明白,有些问题改起来也比较麻烦。
所以以后还要更加努力学习。
四、参考文献
[1]耿祥义java课程设计清华大学出版社
[2]张白一崔尚森面向对象程序设计---java(第二版)西安电子科技大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 报告 毕业 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)