java编写文本编辑器_基于java实现文本编辑器.doc

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

基于java实现文本编辑器

Java语言程序设计课程设计报告

PAGE 14

封面

《Java语言程序设计》

课程设计报告

设计题目: 制作一个文本编辑器

分 院: 电 信 分 院

班 级:

姓 名:

学 号:

指导教师: 黄建华

实验地点: 三教机六

课设时间: 2009-12-20——2009-12-25

二OO九 年 十二 月 二十五 日

《Java语言程序设计课程设计》

? 目录

设计思路…………………………………………………………………2

设计过程…………………………………………………………………3

测试结果…………………………………………………………………12

心得体会…………………………………………………………………13

程序代码…………………………………………………………………14

设计思路

(一)设计概念

要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等等问题。现把我的设计思路简要介绍如下:

1、明确设计要求

首先要创建了一个窗体,标题为“×××设计的文本编辑器”,设计要求是要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单击新建时就可以新建一个空白文档;当单击打开时可以从已有的目录下打开需要打开的文本文件,在原有文件中可以选择要打开的文件;当单击保存时可以出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。在编辑菜单下的子菜单复制,可以进行对文本的复制。在文本区内要求当单击鼠标右键时可以弹出菜单,要求有两个子菜单为复制和字体,通过单击字体菜单可以实现对字体改变。而且在窗体的右上方有三个按钮可以实现最小化、最大化、和关闭。而且用户也可以根据自己的需要改变窗体的大小。

2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的程序语言)

(1)创建一个窗体,包括构造一个文本域为编辑器各种功能的实现提供一个伸展平台;

(2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单);

(3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单包括的子菜单为复制和粘贴;

(4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。

3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要求,是否达到理想中的那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义上的完成整个设计过程。

(二)流程图

新建

新建

打开

Open

保存

Save

退出

Exit

复制

Copy

字体大小

复制

Copy

粘贴

Paste

字体颜色

快捷菜单

编辑

Edit

文件

File

空的

菜单条

文本域

TextArea

窗体

Frame

主方法

Main()

公共类

Bjq

粘贴

Paste

二、设计过程

功能介绍:

通过记事本编辑器可以实现新建、打开、保存文本文件、以及退出;同时也有对字体

的改变、对字的颜色的改变以及复制、粘贴等功能,根据自己的意愿改变窗体,实行对其的最小化、最大化、关闭等等。

2、设计步骤:

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.print.*;

import java.awt.datatransfer.*;

import java.applet.*;

import javax.swing.JColorChooser;

import javax.swing.event.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

import javax.swing.text.*;

import javax.swing.colorchooser.*;

引用两个包:javax、java、以及对应的方法

首先创建一个公共的类名为Bjq

为文本编辑器创建一个窗体并设计标题为:08通信(2)班骆玉春设计的文本编辑器Bjq;并创建编辑器的文本域,具体代码如下;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224126.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午12:38
下一篇 2026年3月17日 下午12:38


相关推荐

  • 如何使用SpringBoot AOP 记录操作日志、异常日志?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:咫尺的梦想_w cnblogs.com/wm-dv/p/11735828.html 平时我们在做项目时经常需要…

    2021年6月25日
    142
  • Java双向队列Deque栈与队列

    Java双向队列Deque栈与队列Java中实际上提供了java.util.Stack来实现栈结构,但官方目前已不推荐使用,而是使用java.util.Deque双端队列来实现队列与栈的各种需求.如下图所示java.util.Deque的实现子类有java.util.LinkedList和java.util.ArrayDeque.顾名思义前者是基于链表,后者基于数据实现的双端队列.总体介绍要讲栈和队列,首先要讲Dequ…

    2022年7月16日
    21
  • python merge函数[通俗易懂]

    python merge函数[通俗易懂]本篇详细说明merge的应用,join和concatenate的拼接方法的与之相似。pd.merge(left,right,how=’inner’,on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=True,suffixes=(‘_x’,’_y’),copy=True,indicator=False,validate=No

    2022年5月2日
    81
  • ora-01007变量不在选择列表中_oracle存储过程变量赋值

    ora-01007变量不在选择列表中_oracle存储过程变量赋值使用oracle数据库过程中,偶尔遇到ORA-01008:并非所有变量都已绑定这个错误,此时应该查检sql中是否有以下情况:1、varsql=string.Format(“select*fromstudenttwheret.name=‘{0}‘andt.address=‘{1}‘”,name);此时编译不会报错,当执行sql时就会报“ORA-01008:并非所有…

    2025年9月29日
    7
  • linux异步io底层原理,异步IO简析

    linux异步io底层原理,异步IO简析什么是异步 IO UNIX 网络编程卷 1 中的 IO 多路复章节总结了几种典型 IO 模型 包括 阻塞 IO 非阻塞 IOIO 复用信号驱动式 IO 异步 IO 这些 IO 模型在本质上都是围绕着同步 异步 阻塞 非阻塞这几个特点在做一些不同的选择 IO 的过程是应用程序从某个设备读取数据 或者往设备写入数据 操作系统把这些设备抽象为描述符 fd 应用程序则在这些 fd 上面进行读写操作 由于 fd 的底层是设备 这里就会有个问题 设备还没

    2025年12月12日
    5
  • anycast简单总结

    anycast简单总结一针见血,言简意赅的总结bgp+anycast就是不同服务器用了相同的ip地址anycast技术特点bgp+anycast就是多个主机使用相同ip地址的一种技术,当报文发给该地址时,根据路由协议,选择最近(跳数最少)的主机服务。因此,当某台主机服务量大,或者被攻击,到该主机的距离变长,使得报文被发送给另外的主机。所以,bgp+anycast天然支持负载均衡和抵抗ddos攻击anyca…

    2022年5月10日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号