Git Product home page Git Product logo

editpad's Introduction

EditPad

EditPad文本编辑器,使用java编写,小巧,跨平台。目前为1.0版本。待继续完善。。。

一、设计需求

​ 以文字对课题进行简单介绍。对于该课题所设计与实现的文本编辑器系统,需要完成以下内容:

1、 用户界面的需求

(1)设置一个窗体用来展示文本编辑器,并且可放大、缩小与关闭。

(2)设置一条菜单栏,添加菜单项(文件,编辑,格式,编译,查看,帮助),再于菜单项上建立子菜单。

(3)设置选项卡,每新建打开一个文件,添加一个选项卡项,设置选项卡可关闭。

(4)设计一个图标显示在窗体上。

2、 业务逻辑处理(功能)的需求

2.1 文件操作

​ (1)文件的新建、打开、保存和关闭。

2.2 对文本内容进行编辑

​ (1)通过菜单栏实现对文本内容的全选、复制、粘贴、剪切、查找、替换。

​ (2)通过右键选中实现对文本内容的全选、复制、粘贴、剪切。

2.3 设置格式

​ (1)设置字体及字体的字形和字号。

​ (2)设置字体颜色。

​ (3)设置文本区自动换行。

2.4 查看信息

​ (1)显示状态栏信息,包括行数与字数。

2.5 编译

​ (1)编译java源文件。

​ (2)运行java程序。

2.6 帮助

​ (1)查看帮助信息。

3、 数据存储的需求

(1)可以将新建的文本以txt、java或其他文本形式存储到计算机硬盘内存中。

(2)可以实现打开的文本文件保存到原有的计算机硬盘内存中。

(3)可以将文本文件另存到计算机硬盘内存的其他位置。

二、类的功能

1、TextEdit类

该能的功能是包含main()方法,在main()方法中创建Win类实例,生成文本编辑器图形界面。以便用户运行操作。。

2、FileNumberException类

该能的功能是定义一个文档个数限制的异常类,是Exception的子类,当打开或者新建的文档数超过9个时抛出异常。

3、Win类

该能的功能是创建一个编辑器的主窗口,创建和处理主题窗口上的各种组件,可实现文件打开关闭、文本信息的操作,其中newFile()将方法抛出FileNumberException异常。

并通过事件分别完成myversion、FontChange、ReplaceFrame、SearchFrame、CompileWindow 、runWindows类的实例化。

4、myversion类

该功能是创建一个版本信息窗口。显示作者的姓名、版本号等。

5、FontChange类

该功能是创建一个改变文本字体、字形、字体大小的窗口。

6、ReplaceFrame类

该功能是创建一个实现替换文本中指定内容的窗口。

7、SearchFrame类

该功能是创建一个实现查找指定内容的窗口,查找到的内容将被选中。

8、CompileWindows类

该功能是创建一个java编译的信息窗口,将显示编译过程的信息。

9、runWindows类

该功能是创建一个java运行的信息窗口,显示运行java时的信息.

三、运行效果

1、初始界面

1580206495652

2、打开文件

1580206564049

3、可新建、删除、保存文件

1580206614009

4、文本编辑

1580206761334

5、更多功能

基本完成了类似windows记事本的所有文本编辑功能。不一一展示了。

editpad's People

Contributors

yohn-z avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.