JAVA文件编辑器程序代码

JAVA文件编辑器程序代码
JAVA文件编辑器程序代码

JAVA文件编辑器程序介绍

小组成员

姓名:xx

学号:sss

姓名:sss

学号:ss

班级:2ss

目录

一、任务要求 (2)

二、程序构成 (2)

三、主要代码 (2)

1. TestFrm (2)

2. MainFrm (4)

3. FileFrm (5)

四、运行结果 (11)

1.登录界面 (11)

2.主界面 (11)

3.文件界面 (11)

一、任务要求

通过可视化界面完成和用户的交互;

用户启动程序时需要输入用户名,密码,输入正确后打开主界面;

能够打开二进制可执行文件,ASCII码文件和图片文件;

能够将读取到的文件内容以正确的格式在窗口中显示出来(二进制的显示成为十六进制数,ASCII码文件显示为字符串,图像文件显示出图像的内容);

能够同时用多个窗口打开多个文件,并能够对这多个窗口进行统一管理;

能够修改ASCII文件和二进制文件的内容,并进行保存。

二、程序构成

程序由TestFrm(登录界面类)、MainFrm(主界面类)、FileFrm(文件界面类)三个类构成。

三、主要代码

1. TestFrm

jb1.addActionListener(new ActionListener()//登录按钮事件函数

{

@Override

public void actionPerformed(ActionEvent e) {

int loadcase=0;

//获得输入的用户名和密码

String username=jt1.getText();

String password=jt2.getText();

Connection conn = null;

try {

//连接存放用户名和密码的数据库

Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();

String url = "jdbc:Access:///数据库1.mdb";

conn = DriverManager.getConnection(url, "", "");

Statement sta = conn.createStatement();

ResultSet resu = sta.executeQuery("select * from Table1");

//查找输入的信息是否正确

while(resu.next()){

if(username.equals(resu.getString("username")))

{

loadcase=1;//用户名存在

if(password.equals(resu.getString("password")))

{

loadcase=2;//密码正确

}

}

}

} catch (Exception e1) {

e1.printStackTrace();

}

if(loadcase==2)//登录成功,进入主界面

{

MainFrm a=new MainFrm();

a.setSize(400, 100);

a.setLocationRelativeTo(null);

a.setVisible(true);

dispose();//关闭登录界面

}

else if(loadcase==1)//密码错误,弹出提示

{

JFrame jj=new JFrame("提示");

Label L2=new Label("密码错误");

JPanel jp=new JPanel();

jp.add(L2);

jj.add(jp,BorderLayout.CENTER);

jj.setSize(150,100);

jj.setLocationRelativeTo(null);

jj.setVisible(true);

}

else//用户名不存在,弹出提示

{

JFrame jj=new JFrame("提示");

Label L2=new Label("用户名不存在");

JPanel jp=new JPanel();

jp.add(L2);

jj.add(jp,BorderLayout.CENTER);

jj.setSize(150,100);

jj.setLocationRelativeTo(null);

jj.setVisible(true);

}

}

});

2. MainFrm

jb1.addActionListener(new ActionListener()//打开按钮事件函数

{

@Override

public void actionPerformed(ActionEvent e) {

if(n<100)//判断已打开文件是否超过上限

{

//新建一个文件界面

file[n] = new FileFrm(MainFrm.this);

file[n].setSize(400, 300);

file[n].setLocationRelativeTo(null);

file[n].setVisible(true);

n++;

}

else

{

//提示已打开的文件太多

JFrame jj=new JFrame("提示");

Label L2=new Label("您打开的文件太多");

JPanel jp=new JPanel();

jp.add(L2);

jj.add(jp,BorderLayout.CENTER);

jj.setSize(150,100);

jj.setLocationRelativeTo(null);

jj.setVisible(true);

}

}

});

jb2.addActionListener(new ActionListener()//全部保存按钮事件函数

{

@Override

public void actionPerformed(ActionEvent e) {

for(int i=0;i

{

file[i].save();

}

}

});

jb3.addActionListener(new ActionListener()//全部关闭按钮事件函数

{

@Override

public void actionPerformed(ActionEvent e) {

for(int i=0;i

{

file[i].dispose();

}

n=0;

}

});

3. FileFrm

public class FileFrm extends JFrame {

JButton jb1;//保存按钮

JButton jb2;//关闭按钮

JLabel pic;//用于显示图片

JPanel jpa;

JTextArea fileshow;//用于显示txt和exe

File f1;//打开的文件

String type;//用于存放文件类型

MainFrm fa;//指向父对象(MainFrm类)

FileFrm(MainFrm a)

{

fa=a;

open();//选择要打开的文件

//构造文件界面

jb1= new JButton("保存");

jb2= new JButton("关闭");

fileshow=new JTextArea();

fileshow.setLineWrap(true);//设置自动换行

pic = new JLabel();

jpa = new JPanel();

JScrollPane scroll = new JScrollPane(fileshow); //把定义的JTextArea放到JScrollPane 里面去

//分别设置水平和垂直滚动条自动出现

scroll.setHorizontalScrollBarPolicy(

JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

scroll.setVerticalScrollBarPolicy(

JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

JPanel jp2=new JPanel();

jp2.setLayout(new FlowLayout());

jp2.add(jb1);

jp2.add(jb2);

JPanel jp3=new JPanel();

jp3.setLayout(new BorderLayout(5,5));

if(type=="txt"||type=="exe")//若打开的文件是txt或exe,则插入JTextArea {

jp3.add(scroll,BorderLayout.CENTER);

}

else//若打开的文件是图片,则插入JLabel

{

jp3.add(jpa,BorderLayout.CENTER);

}

jp3.add(jp2,BorderLayout.NORTH);

//构造文件界面

Container ct=this.getContentPane();

ct.setLayout(new BorderLayout());

ct.add(jp3, BorderLayout.CENTER);

showFile();//将打开的文件内容显示在文件界面

jb1.addActionListener(new ActionListener()//保存按钮事件函数

{

@Override

public void actionPerformed(ActionEvent e) {

save();

}

});

jb2.addActionListener(new ActionListener()//关闭按钮事件函数

{

@Override

public void actionPerformed(ActionEvent e) {

close();

}

});

}

void open()//打开文件

{

JFileChooser jfc1 = new JFileChooser(); //选择文件

int num1 = jfc1.showOpenDialog(FileFrm.this);

if(num1==JFileChooser.APPROVE_OPTION)

{

f1 = jfc1.getSelectedFile();

FileFrm.this.setTitle(f1.getName());

}

String name = f1.getName();

//获得文件的后缀名,判断文件类型

if(name.endsWith("txt")||name.endsWith("TXT"))

{

type = "txt";

}

else if(name.endsWith("exe")||name.endsWith("EXE"))

{

type = "exe";

}

else

{

type = " ";

}

}

void showFile()//显示文件内容

{

if(type=="txt")//若是txt文件

{

try

{

FileReader fr = new FileReader(f1);

BufferedReader br = new BufferedReader(fr);

String str;

while((str = br.readLine())!=null)//一行一行的读取并显示出来

{

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

}

fr.close();

br.close();

}

catch(FileNotFoundException e1)

{

e1.printStackTrace();

}

catch(IOException e2)

{

e2.printStackTrace();

}

}

else if(type=="exe")//若是exe文件

{

InputStream in = null;

try {

// 一次读一个字节

in = new FileInputStream(f1);

int tempbyte;

while ((tempbyte = in.read()) != -1) //输入流以8位二进制读一个字节,然后把他转成一个int类型数

{

String str=Integer.toHexString(tempbyte);//把tempbyte转成十六进制数

if (str.length() == 1)

{

str = "0" + str;//补成两位的十六进制数

}

fileshow.append(str+" "); //一个一个显示,中间用空格隔开

}

in.close(); //要关掉

} catch (IOException e) {

e.printStackTrace();

}

}

else//若是图片文件

{

ImageIcon image = new ImageIcon(f1.getPath());

pic.setIcon(image);

jpa.add(pic);

}

}

void save()//保存文件

{

if(type=="txt")//若是txt文件

{

File f2 = null;

JFileChooser jfc2 = new JFileChooser(); //选择文件保存位置

int num2 = jfc2.showSaveDialog(FileFrm.this);

if(num2==JFileChooser.APPROVE_OPTION)

{

f2=jfc2.getSelectedFile();

FileFrm.this.setTitle(f2.getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(fileshow.getText()); //写入文本内容

bw.close();

fw.close();

}catch(IOException e2){

e2.printStackTrace();

}

}

}

else if(type=="exe")//若是exe文件

{

File f2 = null;

JFileChooser jfc2 = new JFileChooser(); //选择文件保存位置

int num2 = jfc2.showSaveDialog(FileFrm.this);

if(num2==JFileChooser.APPROVE_OPTION)

{

f2=jfc2.getSelectedFile();

FileFrm.this.setTitle(f2.getName());

byte[] bytes = hexStr2Bytes( fileshow.getText() ); //将文本框中的十六进制数文本转换成byte数组

try

{

OutputStream os=new FileOutputStream(f2.getPath());

os.write(bytes); //将二进制数内容写入文件

os.flush();

os.close();

}catch(Exception ex){

ex.printStackTrace();

}

}

}

else//若是图片文件,提示不能保存

{

JFrame jj=new JFrame("提示");

Label L2=new Label("此类型文件无法保存");

JPanel jp=new JPanel();

jp.add(L2);

jj.add(jp,BorderLayout.CENTER);

jj.setSize(200,100);

jj.setLocationRelativeTo(null);

jj.setVisible(true);

}

}

void close()//关闭文件

{

fa.n--;//已打开文件数-1

dispose();//关闭文件界面

}

public static byte[] hexStr2Bytes(String src) //将十六进制数string转换成byte数组

{

int m=0,n=0;

int l=src.length()/3;

byte[] ret = new byte[l];

for (int i = 0; i < l; i++)

{

m=i*3+1;

n=m+1;

int t = Integer.decode("0x" + src.substring(i*3, m) + src.substring(m,n));//提取一个十六进制数,并转换为int型

ret[i] = (byte) t; //将int型强制转换为byte型,避免十六进组数直接转换为byte型会出现符号位的问题

}

return ret; //返回 byte数组

}

}

四、运行结果

1.登录界面

提示信息:

2.主界面

3.文件界面

打开、保存界面:

提示信息:

个程序员专用的代码编辑器

个程序员专用的代码编 辑器 TPMK standardization office【 TPMK5AB- TPMK08- TPMK2C- TPMK18】

9个程序员专用的代码文本编辑器 下面是笔者总结的 9 个最好的免费代码文本编辑器: 1. NOTEPAD++ NOTEPAD++是一款免费又优秀的文本编辑器,支持在 MS Windows 环境下运行的多种编程语言。NOTEPAD++支持超过 50 种编程、脚本和标记语言的语法高亮显示和代码折叠,能让用户迅速减小或扩大代码段以便查阅整个文档。用户也可以手动设置当前语言,覆盖默认语言。该程序还支持自动完成某些编程语言的 API 子集。 2. VIM VIM 是一个可高度自由配置的文本编辑器。它是 vi 编辑器的改进版,同时也是免费软件。该应有程序的建立是为了处理代码以及其他很多事情,而不只是为了写电子邮件和打开配置文件。它允许你编辑文本并保存简单的文本文件,但它的主要功能是还是编辑代码。它支持语法高亮显示和行编号,这是写程序必备的两个基本功能。用户也可以改变界面颜色以便增加代码的可视性。 对于文本编辑,VIM 这个程序囊括了多种语言的拼写检查器,并有建议如何更正拼写错误的能力。甚至是当你正在编写代码的时候,它也能派上用场,因为该应用程序只检查不被识别为代码的文本。当然你也可以快速地从这个错误跳到下一个以便更好地校对文本。 VIM 是程序员和开发人员应对各种文本编辑的最佳选择。 3. GNU Emacs

Emacs 是一个可移植、可扩展、免费的文本编辑器。 Emacs 提供了一些命令来管理语句和段落,高亮的语法使得源代码更易于阅读,以及“键盘宏”的方式来执行用户定义的编辑命令。 Emacs 可以在若干个操作系统上运行,无论你使用的是哪一种机器类型。这让程序员非常受用。如果你使用的是通用的编程语言,Emacs 还会为你提供模式以及相应的排版和布局,更加方便你编辑代码。 Emacs 或许不是最简单的工具,但它绝对是最强大的编辑器之一。相比 vim,Emacs 的启动时间更长,所需要的内存也更多。但是,它是高度可定制的,并且包括了大量的功能。 4. SUBLIME TEXT SUBLIME TEXT 是一个超棒的免费软件/商业性质的文本编辑器。漂亮的用户界面、卓越的功能和令人惊叹的性能一定会让你爱不释手。它可用于 Windows、Mac OS X 和 Linux 系统,并且是免费试用的,而且这个免费时间没有限制。当然你也可以花费 70 美元买个完整的许可证。一份许可证就能允许你在自己拥有的多台计算机上使用,不管每一台计算机使用的是什么操作系统。 5. ATOM Atom 是一款由 GitHub 开发的,支持用 Node.js 编写插件和嵌入Git Contral,面向 Mac OS X、GNU/ Linux 和 Windows 的免费的开源文本和源代码编辑器。没人愿意将时间浪费在配置自己的编辑器上面,于是ATOM 横空出世。它预装了所有你期望一个现代化的文本编辑器所应该具备

java文本编辑器实验报告

Java考核 课程名称Java程序设计 题目名称文本编辑器的设计与实现学生学院计算机学院 专业班级计算机17(2)班 学号3117004479 学生姓名李泽豪 指导教师赵锐 2018 年12 月11 日

一、课程题目 编程实现一个文本编辑器 使其具有新建、打开、保存,编辑(查找、替换、大小写转换等)、统计(字数、行数、字符数等)、格式(字体设置、字体大小、字体颜色、背景颜色等)等功能。 要求:基于JFrame窗体设计、使用菜单进行功能选择。 提示:字体颜色,背景颜色的设置,可使用javax.swing包中的JColorChooser类的静态方法showDialog()调用标准颜色对话框来完成;文件操作可通过javax.swing包中JColorChooser类中的showSaveDialog()、showOpenDialog()方法调用标准的的文件对话框来完成。 二、题目分析与设计 2.1开发环境 使用Eclipse开发软件 2.2需求分析 简单的文本编辑器提供给用户基本纯文本的文字编辑功能,能够读取计算机本地磁盘中的文本内容,将用户文本导入到磁盘中之中,以及实现基本的字体设置(字体,字号,字体颜色)简单的编辑字体的功能,以及统计(字数,行数,字符数),增强视觉体验的背景颜色功能等,简单而实用。而网络上的各种编辑器,有的功能不足(如自带的记事本),而有些编辑器功能太繁杂,仅以日常应用方面来说,一个文本编辑器只需要简单的功能就够了。 2.3功能构架 本程序要构建的文本编辑器按照题目要求,分为四个方面: (1)“文件”菜单:包括“新建”并提示是否保存已编辑内容,“打开”计算机本地磁盘的文本文件,主动“保存”自己已经编辑好的内容到电脑的磁盘或“另存为”新的文件之中,以及“退出”并提示是否保存已编辑的内容。 (2)“编辑”菜单:包括对已编辑文本的一个“查找与替换”功能,对已编辑英文文本的一个“大小写转换”功能。 (3)“格式”菜单:实现对文本的“字体”设置,“字体大小”以及“字体颜色”,还有

java 记事本程序设计报告

Xxx学校 JAVA程序设计课程设计报告 课题: 记事本 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间

目录 一、系统描述 (3) 二、分析与设计 (4) 1. 分析 (4) 2. 功能模块划分 (4) 3. 功能模块流程图 (5) 4. 各模块的关键代码 (5) 三、系统测试 (7) 四、心得体会 (10) 五、参考文献 (10) 六、附录 (11)

一、系统描述 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的eclipse开发工具。

java课设—文本编辑器的设计与实现

淮 海 工 学 院 计算机工程学院
课程设计报告
设计名称: 选题名称: 姓 名: 面向对象课程设计 文本编辑器的设计与实现 学 号:
专业班级: 系 (院) : 设计时间: 设计地点: 计算机工程学院 2015.6.21~2014.7.4 计算机楼机房、教室、宿舍
指导教师评语:
成绩:
签名:
年 月 日

面向对象课程设计报告

1
页,共
14

1.课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程 后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理 论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法,提高运用 面向对象知识分析实际问题、解决实际问题的能力。
2.课程设计任务与要求:
课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟 练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系 统用例图和类图,并将 UML 图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 8)Java 的网络编程 任务: 设计一个类似于 Windows 记事本(Notepad)的 Java 程序。可以打开、新建、保存一个文本 文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复 制、粘贴、剪切、查找、替换等) ;在文本中能够插入对象。简单文本编辑器提供给用户基本的 纯文本编辑功能, 能够将用户录入的文本存储到本地磁盘中。 能够读取磁盘中现有的纯文本文件, 以及方便用户进行需要的编辑功能。

基于java的文本编辑器开发

基于java的文本编辑器开发 当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。 目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。 本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏以及树结构,还有链接Java虚拟机实现编译与运行。使用SUN公司的Java中的GUI作为开发技术,利用其提供的各种类与接口,首先建立系统应用原型。 本文本编辑器的开发采用JDK6.0和 UltraEdit为开发工具,操作系统为Windows98/Windows 2000/Windows XP等。

目录 1 前言 (3) 2 问题的提出及可行性研究 (4) 2.1问题的提出及定义 (4) 2.2可行性研究 (5) 2.2.1 对现行文本编辑器的分析 (5) 2.2.2 新文本编辑器的可行性研究分析 (5) 3 用户需求分析 (7) 3.1用户调查 (7) 3.2确定目标系统的功能 (7) 4 系统设计与开发环境 (8) 4.1系统相关类的设计 (8) 4.2开发语言及其开发环境 (12) 4.2.1开发语言概述 (12) 4.2.2 Java开发环境——JDK的介绍 (14) 4.3环境变量的设置 (15) 4.3.1.环境变量的作用 (15) 4.3.2 如何设置环境变量 (16) 5 关键技术和源代码的实现 (18) 5.1关键技术剖析 (18) 5.2源码分析 (19) 6 系统测试 (46) 6.1测试方案 (46) 6.2测试项目 (46) 6.3编辑器截图演示 (47)

第一个java程序(Hello World)

Java程序开发体验—Hello World 1.将Java代码编写到扩展名为.java的文件中 2.通过javac命令对该java文件进行编译 3.通过java命令对生成的class文件进行运行 具体操作流程: Java本身的代码是纯文本,所以只需要文本编辑器 任何计算机语言都有其固有的格式,格式不用去理解,先记住,因为格式是死的 Java程序的特点在于,它是以一个类一个类的形式存在的,类就是存储代码的地方 类如何定义? 确定类的范围,用符号表示{} .java文件叫源代码,源程序,计算机不能识别 要把它翻译成计算机能识别的程序。 class Domo{ } 文件名存储为123.java 执行javac 123.java 生成Domo.class文件 执行java Domo 报错“NoSuchMothodError:main”(找不到main方法) //缺少东西,所以不能独立运行 main方法的格式是固定的,只能先记下来,后面介绍 class Domo { public static void main(String[] args) { }

} 完成了主方法的编程 要注意大小写区分,Java是严格区分大小写的 源代码修改了之后,要重新生成新的运行程序,所以要重新编译 javac 123.java java Demo 不报错了 为了得到计算机的反馈 class Domo { public static void main(String[] args) { System.out.print(“Hello world!”); } } javac 123.java java Demo 运行结果: Hello world! print和println的区别 class Domo { public static void main(String[] args) { System.out.print(“Hello world!”); System.out.print(“123”); } } 运行结果: Hello world!123 class Domo { public static void main(String[] args) { System.out.println(“Hello world!”); System.out.print(“123”); } } 运行结果:

Java写的简单文本编辑器代码(word文档良心出品)

import java.awt.*; import java.awt.eve nt.*; import java.io.*; public class Notepad /*impleme nts Action Liste ner , MouseListe ner , MouseMoti on Liste ner , Win dowListe ner , ItemListe ner , KeyListe ner, TextListe ner */ { //成员变量 private Menultem miNew , miOpen , miSave , miSaveAs , miExit ; // 文 件菜单项:新建,打开,保存,另存为,退出 private Menultem miCut , miCopy , miPaste , miDelete ;//编辑菜单项: 剪切,复制,粘贴,删除 private Menultem miFont , miLowtoCapital , miCapitaltoLow , miEncrypt miDisencrypt ; //格式菜单项:字体 private Menultem miAboutNotepad ; // 帮助菜单项:关于记事本 private Frame mainFrame ; // 主框架 private Men uBar mb ; // 菜单条 private Me nu mFile , mEdit , mFormat 式,帮助 mHelp ; //菜单:文件,编辑,格 private TextArea ta ; //文本区 private String tempString ; 〃临时字符串,用于存储需要复制粘贴的字符串 private boolea n textValueCha nged = false private int id_fo nt //字体 Stri ng fileName = "" ; //上次保存后的文件名和地址 //构造函数 public Notepad(){ //框架 main Frame = new Frame ( "Notepad v0.99 by Laun chi ng" ); mb = new Men uBar (); ta = new TextArea (30 ,60); ta .setFont( new Font ( "Times New Rome" , Font. PLAIN , 15)); ta .setBackground( new Color(0,250,200)); //菜单条 mFile = mEdit = new Menu ( new Menu ( "文件"); "编辑");

java文本编辑器

软件学院 课程设计报告书 课程名称 设计题目文本编辑器的设计与实现 专业班级XXXXXXXXXXX 学号xxxxxxxxxx 姓名xxx 指导教师

2011 年11月

1 设计时间 2011年11月 2 设计目的 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。 3设计任务 文本编辑器的设计与实现:设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。 4 设计内容 4.1需求分析 需求分析的任务是确定功能必须完成的工作,也就是对目标系统提出完整、准确、清晰、具体的要求。简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能。 4.2概要设计 4.2.1程序基本功能概括

Java第三次作业 《文本编辑器》

《Java语言》课程期末作业 题目第6题:文本编辑器 学院计算机学院 专业网络工程 班别13级(3 )班 学号 姓名 2015年06月17日

一、课程题目 制作一个简单的文本编辑器,交互性要求:【最大选题人数:5】 (1) 可输入文字(仅要求英文及标点符号) (2) 实现一些常用的编辑功能:如复制和粘贴,查找和替换,首字母自动大写,拼写自动更正…… (3) 可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件 二、题目分析与设计 1. 注明所使用的开发环境(Eclipse、NetBeans,JBuilder)。 开发环境:Eclipse

2. 论述题目的需求。给出软件功能架构图。 本题目要求实现类似于一个记事本的文本编辑器功能。要能够输入文字,能够实现一些常用的编辑功能,可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: ① 菜单栏中有“文件”,“编辑”,“字体”三个主菜单。 ②“文件”菜单有“新建”,“打开”,“保存”三个菜单项:分别用于新 建文件,打开文件,保存文件。 ③“编辑”菜单中有“复制”“剪切”“粘贴”“查找”“替换”五个菜单项:用于实现复制所选文字,剪切所选文字,粘贴文字,查找,替换等功能。 ④“字体”中有“格式”一个菜单项:用来控制文本框中文本的字体类型功能; 软件功能架构图:

3. 论述界面设计过程,指出其设计上的创意及组件的布局策略。 这个框架主要运用盒子布局对象和grid布局对象操作。对于文本编辑器的菜单组件如下。 “文件”菜单里: “编辑”菜单里“字体”菜单里 4. 论述程序逻辑的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述。不得以粘贴代码的方式代替设计部分。 首先,自定义一个editor类,该类继承了JFrame类和ActionListener、ItemListener 接口。在主类的主方法中,用editor创建一个对象bianji。 在editor的构造方法中设计好第一个界面的布局和组件。设计一个菜单条组件,

制作一个文本编辑器java课程设计报告

《Java语言程序设计》课程设计报告 设计题目:制作一个文本编辑器 分院:电信分院 班级: 姓名: 学号: 指导教师:黄建华 实验地点:三教机六 课设时间: 2009-12-20——2009-12-25 二OO九年十二月二十五日

《Java语言程序设计课程设计》 目录 一、设计思路 (2) 二、设计过程 (3) 三、测试结果 (12) 四、心得体会 (13) 五、程序代码 (14)

一、设计思路 (一)设计概念 要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等等问题。现把我的设计思路简要介绍如下: 1、明确设计要求 首先要创建了一个窗体,标题为“×××设计的文本编辑器”,设计要要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单击新建时就可以新建一个空白文档;当单击打开时可以从已有的目录下打开需要打开的文本文件,在原有文件中可以选择要打开的文件;当单击保存时可以出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。在编辑菜单下的子菜单复制,可以进行对文本的复制。在文本区要求当单击鼠标右键时可以弹出菜单,要求有两个子菜单为复制和字体,通过单击字体菜单可以实现对字体改变。而且在窗体的右上方有三个按钮可以实现最小化、最大化、和关闭。而且用户也可以根据自己的需要改变窗体的大小。 2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的程序语言) (1)创建一个窗体,包括构造一个文本域为编辑器各种功能的实现提供一个伸展平台;(2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单); (3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单包括的子菜单为复制和粘贴; (4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。 3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要求,是否达到理想中的那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义上的完成整个设计过程。

用Java程序编写一个记事本程序的设计报告

用Java程序编写一个记事本程序的 设计报告 学习中心(点):泾阳学习中心 专业:计算机科学与技术 层次:专升本 姓名:李永固 批次: 112

目录 一、设计分析 (1) 二、程序结构 (1) 三、各模块的功能及程序说明 (2) 1、类设计 (2) 2、主要功能代码实现 (4) 四、源程序 (9) 五、操作方法 (20) 六、试验结果 (20) 七、设计体会 (22)

用Java程序编写一个记事本程序的设计报告 一、设计要求 1.用图形用户界面实现。 2.能实现编辑、保存、另存为、查找替换等功能。 二、程序结构 流程图: 图1基本流程图

本Java文本编辑器功能设计如下: 图2基本功能图 三、各模块的功能及程序说明 1、类设计 (1)类MiniText ,包括initTextPane方法初始化面板,initMenu()方法初始化菜单,initAboutDialog()方法初始化关于对话框,initToolBar()方法初始化工具栏,initRightKey()方法初始化右键设置,等方法。类成员如下:

(2)类Loading (实现登陆)类成员如下:

(3)类runtime (实现时间同步) 类成员如下: (4)类MainFunction (包含主函数) 类成员如下: 2、主要功能代码实现 (1)登陆界面: class Loading extends JWindow implements Runnable { Thread dluThread=null; private JProgressBar progress; public Loading() { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置光标为等待状态JPanel dlu = new JPanel(new BorderLayout()); URL url = getClass().getResource("/images/loading.jpg"); if(url != null){ dlu.add(new JButton(new ImageIcon(url)), BorderLayout.CENTER); } progress = new JProgressBar(1,100); progress.setStringPainted(true); progress.setBorderPainted(true); progress.setBackground(Color.white); progress.setForeground(Color.green); dlu.add(progress,BorderLayout.SOUTH); setContentPane(dlu); //设置窗口属性为登陆面板属性 Dimension screen = getToolkit().getScreenSize(); pack(); //显示登陆界面 setLocation(screen.width/4,screen.height/4); //设置登陆界面始终在屏幕中间显示 } public void start(){ // this.toFront(); dluThread=new Thread(this); dluThread.start(); } public void run(){ show();

JAVA课程设计报告 心得体会——计算器、文本编辑器

用Java设计计算器calculator 内容提要:在本文构造实现了一个计算器擦亮calculator,主要内容包括:calculator的功能需求分析;calculator的基本设计思路和类的划分;calculator的具体实现。 关键字:Java、计算器calculator 引言:设计实现一个Java应用程序的过程如下: (1)功能需求分析; (2)设计和类划分; (3)代码编写实现。 本文就按照这个步骤来实现计算器calculator的制作。 正文: 1.calculator功能需求分析 作为计算器,至少应该具备以下几点功能: (1)计算器要有GUI界面。 (2)能运算小数,并且不会产生精度损失。 (3)用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算。 (4)允许正负数间的运算。 (5)可以求一个数值的平方及倒数,可以进行阶乘运算。 (6)有菜单栏选项。 具体的功能需求和界面我们可以模仿微软公司出品的windowsXP中自带的计算器。如图一: 图一windows XP 中的计算器界面图 2.calculator基本设计思路和类划分 基于第1节中提出对于calculator功能需求的分析,对这个应用程序设计划分类如下:(1)calculator:这个类的功能是实现一个框架 (2)calculatorFrame:这个类作为主类,实现主要功能:运算,按钮排布,菜单,颜色设置,文本显示 3.calculator的具体实现

3.1 calculator类的设计 calculator用来定义一个计算器的框架 1.主要方法 下面以表格的形式列出calculator类至少应该具有的方法和功能描述(如表一所示)。 3.2 calculatorFrame类的设计 calculatorFrame类实现整体功能,包括窗体的初始化、各种用户事件监听和响应(菜单、运算、结果显示等等)。 1.父类和主要接口 设计calculator整体窗口特性继承自JFrame类。 为了对用户命令做出响应(如帮助菜单栏弹出窗口),calculatorFrame类必须能够监听到用户的命令,因此设计calculatorFrame类实现ActionListener接口。 2.主要方法 下面以表格的形式列出calculatorFrame类至少应该具有的方法和功能描述(如表二所示)。 3.基本效果 图二为calculator的基本效果图。

制作一个文本编辑器 java课程设计报告

封面 《Java语言程序设计》课程设计报告 设计题目:制作一个文本编辑器 分院:电信分院 班级: 姓名: 学号: 指导教师:黄建华 实验地点:三教机六 课设时间:2009-12-20——2009-12-25 二OO九年十二月二十五日

《Java语言程序设计课程设计》 目录 一、设计思路 (2) 二、设计过程 (3) 三、测试结果 (12) 四、心得体会 (13) 五、程序代码 (14)

一、设计思路 (一)设计概念 要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等等问题。现把我的设计思路简要介绍如下: 1、明确设计要求 首先要创建了一个窗体,标题为“×××设计的文本编辑器”,设计要求是要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单击新建时就可以新建一个空白文档;当单击打开时可以从已有的目录下打开需要打开的文本文件,在原有文件中可以选择要打开的文件;当单击保存时可以出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。在编辑菜单下的子菜单复制,可以进行对文本的复制。在文本区内要求当单击鼠标右键时可以弹出菜单,要求有两个子菜单为复制和字体,通过单击字体菜单可以实现对字体改变。而且在窗体的右上方有三个按钮可以实现最小化、最大化、和关闭。而且用户也可以根据自己的需要改变窗体的大小。 2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的程序语言) (1)创建一个窗体,包括构造一个文本域为编辑器各种功能的实现提供一个伸展平台;(2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单); (3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单包括的子菜单为复制和粘贴; (4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。 3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要求,是否达到理想中的那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义上的完成整个设计过程。

代码编辑器的java实现

代码编辑器的java实现 摘要 如果我们把不同的程序开发人员比作三国演义中的各路诸侯大将的话,那么代码编辑器绝对可以称之我们手中的神兵利器。对于每个程序猿来说,内心的深处都想有一把自己的“青龙偃月刀”和属于自己的一个代码编辑器。我也有这个想法,我也想自己写一个代码编辑器来满足我的内心深处。所以这次java的课程作业我选择了这个题目! 关键词:Java;代码编辑器;关键字变色;编译和运行

前言 通过一学期的Java学习,我对Java的理论知识有了一些了解。但是,只有理论联系实际才能更好的掌握理论,所以这次Java课程设计我选择了Java程序编辑器这个课题,希望可以锻炼自己的动手能力。我上交给老师您的代码是我参考的网上的一个牛人写的代码,并在他的代码上进行了功能的增加,至于我增加了多少功能,我会论文的附录中给出详细的对比。 1. 软件的定义 编写一个界面像Windows系统的记事本的代码编辑器,功能比记事本更强大(针对某一方面)具备以下功能: (1)打开、保存文件功能; (2)能够识别Java中的关键字并能将关键字以高亮的形式显示出来; (3)能够批量的删除代码中的注释; (4)能通过按下按钮调用DOS窗口; (5)能编译和运行Java程序; (6)能够检查括号是否匹配。 2.开发环境 IDE: eclipse JDK: jdk-7u45-windows-x64 OS:Windows 7 —X64 3.代码的详细说明 主界面: syntaxcolor.v4包中的DemoFrame.java文件,主界面就是一个Frame,然后在上面加上一个菜单栏,一个工具栏和两个Panel,一个panel里面放着JTextPane,另一个里面放着一个几个JLable,用来显示当前鼠标是在第几行,第几列,该Panel放在Frame最下

Java语言代码快捷键大全

Java编程eclipse快捷键大全 Alt+左箭头,右箭头以在编辑窗口切换标签 Alt+上下箭头, 以自动选择鼠标所在行,并将其上下移动 Ctrl+f6 可以弹出菜单,上面列出可以切换的编辑窗口,这样不用鼠标也可切换 Ctrl+f7 可以在视图之间切换 ,如编辑视图,输出视图,工程视图 Ctrl+f8 可以在不同的观察视图中切换,就是在java视图,调试视图,等之间切换 Ctrl+m 可以在最大化当前窗口和还原当前窗口之间切换 Ctrl+e 弹出输入窗口,可以输入你想要编辑的代码窗口,和Ctrl+f6的功能相同,只不过一个是选择的方式,一个是输入的方式,切换窗口 Ctrl+T 可以直接显示光标所在内容的类图,可以直接输入,并跳到输入内容部分 按住Ctrl键,然后鼠标指向变量名,方法名,类名在源代码中快速跳转 Ctrl + F11 快速执行程序 Ctrl+Shift+F 程序代码自动排版 Ctrl+Shift+O 自动加入引用。说明:假设我们没有Import任何类别时,当我们在程序里打入: ResourceAttirbute ra =new ResourceAttribute(); Eclipse会提示说没有引

用类别,这时我们只要按下Ctrl+Shift+O ,它就会自动帮我们Import这个类别。非常方便 Ctrl+/ 将选取的块注释起来:在Debug时很方便。 Alt + / 就是大家都应该最常用的代码辅助了 Ctrl+h 搜索,打开搜索对话框 Ctrl+Shift+Space 参数提示,如果此时位于方法体中,就会出现方法的参数提示,当前光标所在位置的参数会用粗体显示 编辑 作用域功能快捷键 全局查找并替换 Ctrl+F 文本编辑器查找上一个 Ctrl+Shift+K 文本编辑器查找下一个 Ctrl+K 全局撤销 Ctrl+Z 全局复制 Ctrl+C

Java课程设计文档

Java课程设计报告 题目:文本编辑器 年级专业:07级信息与计算科学 学号: 20074043031 20074043032 20074043033 20074043034 学生姓名:周勇李朝黄峰陈爽指导老师:彭胜 完成时间:2010年 7月 1 日

目录 摘要 (3) 前言 (3) 1 需求分析 (4) 1.1需求分析 (4) 1.2功能设计 (4) 2 概要设计 (4) 2.1程序设计思路 (4) 2.2程序运行界面 (5) 2.3程序相关说明 (5) 3 程序详细设计与分析 (6) 3.1初始化组件 (7) 3.2构建菜单栏及其下拉菜单及其事件监听 (7) 3.3异常处理 (8) 4.测试分析 (9) 5.课程设计总结 (11) 6.参考文献 (11) 7. 附录 (12) 文本编辑器程序的设计

摘要 该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有,打开文件,保存文件,另存为,退出,撤消,剪切,复制,粘贴,删除,自动换行,关于等功能,该程序主要用到了Java swing包和事件监听等。 关键字:文本编辑器,Java语言,JCreator 前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。 1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。 1需求分析 1.1需求分析 现在网络上各种文本编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft

JAVA简单记事本程序(源代码)课程设计

辽宁工业大学 JA V A程序设计课程设计(论文)题目: JAVA简单记事本程序 院(系):软件学院 专业班级:软件工程班 学号: 学生姓名: 指导教师: 教师职称: 起止时间:

程序设计专题(报告)任务及评语

目录 第1章课程设计的目的与要求 (4) 1.1 课程设计目的 (4) 1.2 课程设计的实验环境 (4) 1.3 课程设计的预备知识 (4) 1.4 课程设计要求 (4) 第2章课程设计内容 (5) 2.1课题描述 (5) 2.2 系统设计 (5) 2.2.1功能分析 (5) 2.2.2面向对象设计 (5) 2.2.3详细设计 (7) 2.3程序实现 (10) 2.3.1源码分析 (10) 2.3.1运行结果 (14) 第3章总结 (18) 参考文献19

第1章课程设计的目的与要求 1.1 课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.3 课程设计的预备知识 熟悉JAVA语言及ECLIPSE开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

制作一个文本编辑器java课程设计报告

制作一个文本编辑器java课程设计报 告

《Java语言程序设计》 课程设计报告 设计题目:制作一个文本编辑器 分院:电信分院 班级: 姓名: 学号: 指导教师:黄建华 实验地点:三教机六 课设时间: -12-20—— -12-25 二OO九年十二月二十五日

《Java语言程序设计课程设计》 目录 一、设计思路 (2) 二、设计过程 (3) 三、测试结果 (12) 四、心得体会 (13) 五、程序代码 (14)

一、设计思路 (一)设计概念 要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等等问题。现把我的设计思路简要介绍如下: 1、明确设计要求 首先要创立了一个窗体,标题为“×××设计的文本编辑器”,设计要求是要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单击新建时就能够新建一个空白文档;当单击打开时能够从已有的目录下打开需要打开的文本文件,在原有文件中能够选择要打开的文件;当单击保存时能够出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。在编辑菜单下的子菜单复制,能够进行对文本的复制。在文本区内要求当单击鼠标右键时能够弹出菜单,要求有两个子菜单为复制和字体,经过单击字体菜单能够实现对字体改变。而且在窗体的右上方有三个按钮能够实现最小化、最大化、和关闭。而且用户也能够根据自己的需要改变窗体的大小。 2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程

Java编写的文本编辑器

J a v a编写的文本编辑器 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

界面: 代码(编译后可直接运行): ; import .*; import .*; public class MyTxt { public static void main(String[] args) { Aframe frame = new Aframe(); ; (); } } class Aframe extends JFrame { public Aframe() { setTitle("我的记事本"); setSize(WIDTH, HEIGHT); Container contentPane = getContentPane(); JPanel txtPanel = new JPanel(); JPanel comboxPanel = new JPanel(); JPanel textPanel = new JPanel(); txtArea=new JTextArea("",17,40); JScrollPane scrollPane =new JScrollPane(txtArea); (scrollPane); (comboxPanel,; (txtPanel); (textPanel,; ."}; daxiaobox=new JComboBox(dax); (daxiaobox); (true); (true); (true); (new FlowLayout);ddUndoableEditListener(um); } quals("")) { (""); }

相关文档
最新文档