java课程设计报告-java课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java 课程设计报告
题目:文本编辑器
班级:
学号:
姓名:
成绩:
日期:年月日
目录
一、综合设计的目的与要求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
二、综合设计正文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
1. 系统分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
1.1系统开发背景、开发范围、建设目标与必要性开发⋯⋯⋯⋯⋯⋯⋯⋯3
1.2需求分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
2.系统设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
2.1功能设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
2.2系统运行环境与开发工具⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4
3 . 系统实施⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
4 3.1 源程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4
3.2 .系统测试及部分截图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12
三、综合设计总结或结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13
四、参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13
《文本编辑器》
一、综合设计的目的与要求
要求在学生能够较熟练使用java 程序设计语言进行软件代码的编写,同时还要具
备较好的项目分析的能力,加深对相关课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统的练习。
二、综合设计正文
1系统分析
1.1系统开发背景、开发范围、建设目标与必要性
随着计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。当然对文本编辑操作仍然占据着重要地位,记事
本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能。
1.2需求分析
程序设计主要分为两大部分:简单 GUI 设计和程序功能设计。通过 GUI 设计实现图
形用户界面,提供图形菜单,方便用户操作。使用Java 语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷方式,对文档内容进行编辑操作,并且能够顺利退出的程序。通过设计和实现一个具有基本功能的文本编辑器,提高我们对 Java 语言设计的掌握能力,理论联系实际,进一步提高软件开发技术,从而培
养我们分析、解决问题的能力。
2系统设计
2.1 功能设计
根据系统自带的文档编辑器的特征设计,包括如下的功能模块:
一、整体结构框架包括:菜单栏和文档编辑区
二、每个框架分别包含不同的子框架,各个模块的具体框架:
1.菜单栏:文件、编辑、工具、帮助
2.菜单栏中各个子菜单功能
文件:新建、打开、保存、另存为、退出
编辑:剪切、复制、粘贴
工具:查找、替换
1)打开与另存为:两个窗体调用系统函数直接利用,注意格式的选择
2)查找:查找内容、查找、查找下一个
4.文本编辑区
监视文本内容是否改变、监听光标所在位置
2.2 系统运行环境与开发工具
开发环境与工具:jdk2.0Eclipse SDK
3系统实施
3.1 源程序
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.awt.event.*;
public class TxtEditor extends JFrame implements ActionListener{
String file_name;
String file_dir;
String tempString;
//上次保存后的文件名和地址
String fileName = "";
JPanel x=new JPanel();
JTextArea wen=new JTextArea(20,50);
JMenuItem ziti=new JMenuItem("字体");
JMenuItem a=new JMenuItem("普通");
//定义菜单项
JMenuItem xin=new JMenuItem("新建");
JMenuItem open=new JMenuItem("打开");
JMenuItem save=new JMenuItem("保存");
JMenuItem lsave=new JMenuItem("另存为");
JMenuItem tui=new JMenuItem("退出");
JMenuItem cut=new JMenuItem("剪切");
JMenuItem copy=new JMenuItem("复制");
JMenuItem cast=new JMenuItem("粘贴");
JMenuItem delete=new JMenuItem("删除");
JMenuItem b=new JMenuItem("粗体");
JMenuItem c=new JMenuItem("斜体");
TxtEditor(){
super ("文本编辑器");
// 对话框
setBounds(250,100,700,450);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
int option=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_MAS
K));
save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MAS
K));
cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK ));
copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MAS
K));
cast.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,ActionEvent.CTRL_MAS
K));
//定义面板
//x.add(