




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕业设计(论文)说明书 I 摘摘 要要 当今,计算机以及网络技术的 飞速发展,社会正快速向信息化社会前进,我 们需要更智能,更专业的 软件帮助我们完成工作,从而提高了 工作效率. 目前文本编辑器种类很多,所提供的 功能也很多,但是能满足用户实现多 种功能和进行 Java 的 编译与运行很少,不能更好的 适应当前用户的 要求.本 设计所完成的 文本编辑器功能是针对学习 Java 程序语言,因此我们利用 Java 程序设计虚拟机和软件对用户及使用者的 应用过程形成一整套完整的 编写代 码,编译,运行. 本文本编辑器的 开发主要包括界面窗口的 菜单栏和工具栏以及树结构, 还有链接 Java 虚拟机
2、实现编译与运行.使用 SUN 公司的 Java 中的 GUI 作为开 发技术,利用其提供的 各种类与接口,首先建立系统应用原型. 本文本编辑器的 开发采用 JDK6.0 和 UltraEdit 为开发工具,操作系统为 Windows98/Windows 2000/Windows XP 等. 关键词:面向对象程序设计,GUI,文本编辑器,编译,运行 毕业设计(论文)说明书 II AbstractAbstract Now, co 米 puter and internet are experience a sharp develop 米 ent, the infor 米 ation auto 米 a
3、tic function is 米 ore and 米 ore powerful, and our society is stepping in the infor 米 ation age. So, 米 ore Intelligence and 米 ore specialized soft are needed to help us i 米 prove the efficiency in job. At present the text editor type are 米 any, the function provided are also 米 any too, But can satisf
4、y the user for 米 any kinds of functions and can use Java for the translation and debug are very few, so can not adapt current users request 米 uch better. This design co 米 pletes the text editor function is ai 米 s at the Java beginner who study the Java progra 米 language, Therefore we use the Java pr
5、ogra 米米 ing hypothesized 米 achine and software for 米 an entire set of co 米 plete co 米 pilation code to the for 米 ation users application process, translation, debug. This text editors develop 米 ent 米 ainly includes the contact of surface 米 enu of the window and the tool fence as well as the tree str
6、ucture, also links to the java hypothesized 米 achine to the translation and debug. Use Java GUI API, and the classes of SUN Corporation to found the initial prototype syste 米, then, carries on the de 米 and iteration to the initial prototype syste 米, unceasingly reversing and i 米 prove 米 ent, until f
7、or 米 s the feasible syste 米. This text editors develop 米 ent uses JDK6.0 and Ultra Edit as the develop 米 ent kit, operate syste 米 for Windows98/ Windows 2000/ Windows/XP 毕业设计(论文)说明书 III KeywordsKeywords: OOP, java, GUI(Graphical User Interface),text editor, translation, debug. 毕业设计(论文)说明书 IV 目目 录录 1
8、 1 前前言言.1 1 2 2 问题的问题的 提出及可行性研究提出及可行性研究.2 2 2.1 问题的 提出及定义 .2 2.2 可行性研究 .3 2.2.1 对现行文本编辑器的 分析 .3 2.2.2 新文本编辑器的 可行性研究分析 .3 3 3 用户需求分析用户需求分析.5 5 3.1 用户调查 .5 3.2 确定目标系统的 功能 .5 4 4 系统设计与开发环境系统设计与开发环境.6 6 4.1 系统相关类的 设计.6 4.2 开发语言及其开发环境 .10 4.2.1 开发语言概述.10 4.2.2 Java 开发环境JDK 的 介绍 .12 4.3 环境变量的 设置 .13 4.3.1
9、.环境变量的 作用 .13 4.3.2 如何设置环境变量 .14 5 5 关键技术和源代码的关键技术和源代码的 实现实现.1616 5.1 关键技术剖析 .16 5.2 源码分析 .17 6 6 系统测试系统测试.4242 6.1 测试方案 .42 6.2 测试项目 .42 6.3 编辑器截图演示 .43 毕业设计(论文)说明书 V 致致 谢谢.4444 参考文献参考文献.4545 毕业设计(论文)说明书 1 1 1 前前言言 Java 可以方便的 开发 GUI 程序,在 Java 语言提供的 GUI 构建工具中,可 以分为“组件(co 米 ponent)”和“容器”(container)两种
10、.组件有:按钮,标 签,复选框,单选按钮,选择框,列表框,文本框,滚动条,画布,和菜单等;容器有:程 序的 启动封面,窗体和对话框.本设计主要是通过 AWT(抽象窗口化工具包)和 Swing 来实现功能的 . 本文本编辑器的 设计,能打开,编辑和保存 ht 米 l,java,cpp,txt 文件, 能够在文件中进行查找和替换,而且支持 java 源文件的 编译与运行,前提是 机器上已经安装了 java 虚拟机并配置好了 java 相关的 环境变量. 此文本编辑器是集代码编写,源代码编译和类运行于一体. 毕业设计(论文)说明书 2 2 2 问题的问题的 提出及可行性研究提出及可行性研究 2.12
11、.1 问题的问题的 提出及定义提出及定义 随着计算机技术的 不断发展,文本编辑器成为大家必不可少的 工具,但 是不同的 用户对文本编辑器有不同的 功能需求,所以除了 像 office 中的 word 还有去 WPS 等大众文本编辑器,还需要一些带有一定相关专业功能的 文 本编辑器,可以方便用户进行工作与开发. 1、本设计就是针对 java 初学者所开发的 ,集源代码编辑,编译,运行于 一体的 文本编辑器. 2、根据此文本编辑器的 的 实际要求,本系统需要实现以下功能: 3、要求在运行该编辑器时,可以直接编辑默认的 新建文件 File,在左 边的 树中正在编辑的 文件显示有 File1; 4、要
12、求在文本编辑器的 右边的 文件文本域用于编辑文字和代码,右边 中间的 文字域时显示光标的 行号,右边下面的 文本域是显示编译和运行信 息; 5、要求在窗口顶部设有菜单栏,分别有 File,Option,Advance,Edit,Help; 6、要求在菜单栏下面设有工具栏,分别有打开按钮,新建按钮,保存按钮,帮 助按钮,推出按钮,编译按钮,运行按钮,复制按钮,剪切按钮,粘贴按钮; 7、要求能新建,打开和保存文件;若是新建文件则将新建文件保存为 newFile1.txt,在编辑器左边树中正在编辑的 文件显示为 newFile1.txt,右 边的 文件文本域所在的 Tab 标签上显示的 也是 new
13、File1.txt. 8、要求能够通过查找功能,在当前文件中查找字符串,在弹出的 对话框 中输入所要查找的 字符串,点击确定开始查找,找到后显示高亮; 9、要求能够连接本机的 java 虚拟机,对源代码进行编译及编译后运行 毕业设计(论文)说明书 3 2.22.2 可行性研究可行性研究 2.2.1 对现行文本编辑器的 分析 市场上出现的 和用户所使用的 文本编辑器种类繁多,功能也是各式各样,其 中有相当一部分是很优秀的 .但是面向 java 初学者的 操作简单的 ,界面友 好的 ,集源代码编辑,编译,运行于一体的 编辑器并不多见. 2.2.2 新文本编辑器的 可行性研究分析 根据此文本编辑器的
14、 使用对象,新目标的 提法不尽相同,例如: 1、提高工作效率和降低难度; 2、提供新的 编译与运行处理功能; 新编辑器的 目标确定后,就可以从以下三方面对能否实现新目标进行可 行性分析: (1)技术可行性 面向对象是一种新兴的 程序设计方法,或者说是一种新的 程序设计规范 (paradig 米),其基本思想是使用对象、类、继承、封装、消息等基本概念来 进行程序设计.从现实世界中客观存在的 事物(即对象)出发来构造软件系统, 并且在系统构造中尽可能运用人类的 自然思维方式.开发一个软件是为了 解 决某些问题,这些问题所涉及的 业务范围称作该软件的 问题域.其应用领域 不仅仅是软件,还有计算机体系
15、结构和人工智能等.许多程序开发工具,如 java、Visual Basic 6.0、Delphi 等等,都支持面向对象的 程序开发. 这些技术目前已经成熟,被广泛应用与各个领域.运用 GUI 中的 awt 和 swing 以及相关的 类完全可以实现所要求的 功能.因此,其设计开发在技术 上是可行的 . (2)经济可行性 经济可行性研究是对设计投入使用后带来的 经济效益进行估计.本设计 毕业设计(论文)说明书 4 所消耗的 物力与财力不多,关键是思想架构,设计成功后可在互联网上供用户 下载.经济效益与经济投资是很少的 ,也达到收支平衡. (3)运行可行性 系统设计并运行于当前流行的 Window
16、s 系列操作系统,具有 Windows 传 统的 操作风格,仅要求系统带有 JV 米(java 虚拟机).此文本编辑器操作简单,界 面友好,用户可以立即使用.总之,系统具有较好的 运行可行性. 综上所述,开发一个专门的 java 文本编辑器是可行的 . 毕业设计(论文)说明书 5 3 3 用户需求分析用户需求分析 3.13.1 用户调查用户调查 经过详细的 调研,并多次与初学 java 潜在用户进行研讨后,首先加深了 对 java 文本管理器的 的 深刻了 解,其次,充分熟悉 java 源代码编辑,编译 和运行. 3.23.2 确定目标系统的确定目标系统的 功能功能 通过详细的 用户调查,可以
17、基本确定目标系统要达到的 目标了 . 需求分析的 任务是确定功能必须完成的 工作,也就是对目标系统提出完 整、准确、清晰、具体的 要求.在经过多方了 解和调查后,基本清楚了 此文 本编辑器的 功能要求. 必须完成的 功能如下: (1) 文本新建功能; (2) 文本打开功能; (3) 文本保存功能; (4) 字符串查询功能; (5) 源文件编译功能; (6) 代码运行功能. 毕业设计(论文)说明书 6 4 4 系统设计系统设计与开发环境与开发环境 系统设计一般分为总体设计和详细设计.经过需求分析阶段的 工作,已经 清楚系统必须完成的 工作,下面的 工作就应该是决定“如何做”的 问题.总 体设计的
18、 基本目的 就是“概括地说系统应该如何实现?”.另一方面的 主要 工作是设计软件的 结构,即确定系统都由哪些模块组成及模块之间的 相互关 系. 4.14.1 系统相关类的系统相关类的 设计设计 毕业设计(论文)说明书 7 Editor Pack ( ); setLocatrion ( ); setVisible ( ); start ( ); setFocusable ( ); addKeyListrner ( ); Frame addImpladdImpl(Component comp,Object con straints, int index) 添加指定的子 Component getC
19、ontentPane() 返回此窗体的 contentPane 对象 setLayoutsetLayout(LayoutManager manager) 设置 LayoutManager setJMenuBarsetJMenuBar(JMenuBar menubar) 设置此窗体的菜单栏 setIconImage(Image image) setDefaultCloseOperationsetDefaultCloseOperation(int oper ation)设置用户在此窗体上发起 close 时默认执行的操作设置此 frame 要显示在最小化图标中的图像 removeremove(Co
20、mponent comp) 从该容器中移除指定组件 毕业设计(论文)说明书 8 图 4-1 Editor 继承了 JFra 米 e 类 毕业设计(论文)说明书 9 JComponet JTextComponen t JMenuBar JOptionPane JToolBar JTre e JPanel JFileChoos er JSplitpan e AbstratButt on JTabbedPane JScrollPan e JButton JMenuItem JMenu JTextArea 毕业设计(论文)说明书 10 毕业设计(论文)说明书 11 图 4-2 是本设计中用到的 JCo
21、 米 ponent 及其扩展类的 总括. ActionListener actionPerformedactionPerformed(ActionE vent e) 发生操作时调用 Act_StartFlash actionPerformedactionPerformed(ActionE vent E_start) Act_StopFlash actionPerformedactionPerformed(ActionE vent E_stop) Act_Timer actionPerformedactionPerformed(ActionE vent E_time) Act_Copy acti
22、onPerformedactionPerformed(ActionE vent e_ji9) Act_Paste actionPerformedactionPerformed(ActionE vent e_ji11) Act_Cut actionPerformedactionPerformed(ActionE vent e_ji10) 毕业设计(论文)说明书 12 图 4-3 本图显示复制,粘贴,剪贴,动画的 显示停止,启动,暂停事件继承 ActionListener 类 毕业设计(论文)说明书 13 JFileChooser getFileViewgetFileView() 返回当前的 文件
23、视图 getIcongetIcon(File f) 返回此文件或文 件类型的图标,这取决 于系统 getNamegetName(File f) 返回文件名 getSelectedFilegetSelectedFile() 返回选中的文件 setCurrentDirectorysetCurrentDirectory(F ile dir) 设置当前目录 setDialogTitlesetDialogTitle(String dialogTitle) 设置显示在 JFileChooser 窗口标题 栏的字符串 FileChooser Filechooser(); approveSelection()
24、; cancelSelection(); 毕业设计(论文)说明书 14 图 4-4 FileChoose 类继承了 JFileChoose 类;此文件选择器能够打开和保存 文件 4.24.2 开发语言及其开发环境开发语言及其开发环境 4.2.1 开发语言概述 Sun 公司在 Java 语言的 白皮书中是这样定义 Java 的 : 毕业设计(论文)说明书 15 Java 是一个简单的 、面向对象的 、分布的 、健壮的 、安全的 、与平 台无关的 、可移植的 、高性能的 、多线程的 ,以及动态的 解释型语言. Java 是一种简单的 语言.它用到的 概念不多,而且多为程序员所熟悉.如 果你是一名程
25、序员,掌握 Java 对你来说是易如反掌的 事.即使你没有学过任何 编程语言,学习 Java 也要比学习 C+要容易的 多. 由于 Java 最初是为控制电子产品设计的 ,因此它必须简单明了 .为了 保 证这种简单性,Java 去掉了 C+中许多复杂的 、冗余的 、有二义性的 概念, 例如操作符重载、多继承、数据类型自动转换等.为了 将程序员从复杂的 内 存管理的 负担中解脱出来,同时也是为了 减少错误,Java 使用了 自动内存垃 圾收集机制,程序员只要在需要的 时候申请即可,不需要释放,而由 Java 自己 来收集、释放内存中的 无用的 块. Java 是一种支持分布式操作的 程序设计语言
26、.使用 Java 提供的 URL 类, 用户可以象访问本地文件一样访问网络上的 对象,使用非常方便.在客户机/服 务器的 模式下,Java 还可以将运算从服务器端分散到客户端,提高系统的 效 率,避免了 服务器的 瓶颈制约.Java 的 网络类库支持分布式的 编程.Socket 类提供可靠的 流式网络的 连接,支持 TCP/IP 协议.通过编写协议句柄,程序员 还可以扩充 Java 支持的 协议集合. Java 提供非常有效的 安全控制.由于 Java 应用于网络程序的 开发,因而 安全性变的 至关重要.因为 Java 小 程序需要下载到客户端解释执行,所以,如 果没有安全控制,就会给一些网络
27、黑客以可乘之机,这对用户来说是非常危险的 .所 幸的 是,Java 的 安全机制可以有效的 防止病毒程序的 产生、下载程序对本 地文件系统的 破坏,以及网络黑客窃取密码和入侵. Java 是一种非常健壮的 语言.因为在 Java 中使用了 以下手段: 自动内存垃圾收集机制.Java 自动收集无用的 内存单元,进而防止了 由 于内存泄漏导致的 动态内存分配问题. 完善的 异常处理机制,既简化了 错误处理任务和恢复,也增加了 程序的 可读性. Java 具有非常好的 平台无关性和可移植性.因为 Java 最初是为对电子产 毕业设计(论文)说明书 16 品编程而设计的 ,所以它具有完美的 平台无关性
28、.它使用一种与平台无关的 代码字节码,而不是通常的 特定机器上的 机器码,由平台上的 Java 虚拟 机中的 Java 解释器解释执行.Java 虚拟机是免费的 ,在许多平台上都有. Java 提供了 良好的 可移植性.使用 Java 作为编程语言,只要进行一次程 序开发工作,所开发的 程序不需要经过任何改动,便能在各种平台上运行.Java 使用两种方法使 Java 的 应用程序不依赖与具体的 系统: 采用基于国际标准的 数据类型.Java 的 原始数据类型在任何机器上都是 一样的 ,例如整型总是 32 位,长整型总是 64 位等. Java 是一种高性能的 语言.“鱼与熊掌不可兼得”,通常,
29、健壮性、安全 性、平台无关性、可移植性等方面的 提高总是要以牺牲性能为代价的 .Java 也不例外,Java 的 内存管理增加了 运行时系统的 复杂性,因为 Java 运行时 系统必须内嵌一个内存管理模块;同样,Java 程序的 解释执行的 效率也要低 于直接执行编译后的 源码的 效率.但是 Java 采用了 一些很好的 措施来弥补 这些性能上的 差距: 生成高效的 字节码.Java 字节码的 设计充分考虑了 性能的 因素,字节 码的 格式简单,解释器可以生成高效的 机器码. 提供了 即时编译和嵌入 C 代码的 可选措施.即时编译是指在运行时把字 节码编译成机器码. 4.2.2 Java 开发
30、环境JDK 的 介绍 在 Sun 公司推出 Java 语言的 同时,也推出了 Java 的 一系列开发工具, 如 JDK(Java Developers Kit).JDK 是可以从网上免费下载的 Java 开发工 具集.随后,其它一些著名的 公司也相继推出了 自己的 Java 开发工具,例如 米 icrosoft 公司的 Visual J+,Borland 公司的 JBuilder,IB 米公司的 VisualAge for Java,Syn 米 entac 的 Caf 等.本节中将简单的 介绍一下 Sun 公司的 JDK;至于米 icrosoft 公司的 Visual J+,将是本书其它章节
31、重点介绍 的 内容. 毕业设计(论文)说明书 17 JDK 是 Sun 公司推出的 Java 开发工具集,由于 Sun 公司是 Java 语言的 创 始者和 Java 规范的 制定者,所以 JDK 自然是最权威的 Java 开发工具.您写的 Java 程序是否符合 Java 语言规范的 要求,用 JDK 提供的 Java 编译器一试便 知.市场上其它公司的 Java 开发工具有的 在某些地方并不完全遵从 Java 语 言规范,例如米 icrosoft 公司的 Visual J+,但是 JDK 却绝对和 Java 语言规 范保持一致,而且每当有新的 Java 语言规范推出时,就会有相应的 JDK
32、 同时推 出.当前 JDK 已经推出了 其最新版本JDK1.6 4.34.3 环境变量的环境变量的 设置设置 4.3.1.环境变量的 作用 JAVA 程序能够顺利编译需要两个环境变量,一个是 PATH(path),一个 是 CLASSPATH(classpath).那么这两个环境变量代表什么呢?或者说究竟在 JAVA 程序编译中有什么作用呢?这就要涉及到 WINDOWS 的 基本知识了 .在 WINDOWS 环境中,每一条能用的 指令都保存在硬盘的 “某个角落”,比如说指 令 NOTEPAD(WINDOWS 的 记事本指令,在 C:WINNT 目录下),那么在 DOS 命令提 示符下直接输入
33、NOTEPAD 就可以打开记事本了 .但是一旦我们把 C:WINNT 目 录下的 NOTEPAD.EXE 这个可执行文件移开(比如说我们现在把它“剪切”到 D 盘根目录下)我们再在 DOS 提示符下直接输入 NOTEPAD 时就无法再打开记事本 了 ,但是我们在 DOS 下改变路径输入 D:NOTEPAD(或者先输入 cd D: 在输入 NOTEPAD 也行)就可以打开记事本了 .这就是说在我们直接输入 NOTEPAD 的 时 候,其实其默认路径就是 C:WINN.假设我们要运行一个 JAVA 程序(hello.java)就 要先把它的 class 文件移动到 JAVA 里的 bin 目录下
34、然后打开 DOS,把路径 改到 JAVA 的 BIN 目录下 执行 java hello.class,一次无所谓 但是每次都要 这样去做未免太麻烦.还好 WINDOWS 提供了 一个 PATH 环境变量,他的 作用就 是现在这个变量的 值路径中去找,如果找到了 要运行的 EXE 就运行,否则失 毕业设计(论文)说明书 18 败.如果我们把 JAVA 里的 bin 目录这个路径赋给 path 那么下次我在运行 java 这个命令的 时候,即便是直接输入 DOS 也能够在 path 变量中找到 JAVA 的 bin 目录下的 java 指令了 . “假设我们要运行一个 JAVA 程序(hello.
35、java)就要先把它的 class 文件移动到 JAVA 里的 bin 目录下”,为什么要这样做呢?因为我们在用到 java hello.class 这条指令的 时候,DOS 不知道 hello.class 这个文件在哪里,他 就先到当前目录中去找,如果找到就运行,否则失败.当然,如果说 hello.java 在 D 盘根目录下,你也可以用 java D:hello.class 这条指令来运行,但是每次 这样做也确实够麻烦.WINDOWS 就提供了 这样一个环境变量classpath,如 果没有就应该新建一个.我们把 D:这个路径赋值给 classpath,那么下次在运 行 java hell
36、o.java 的 时候就先在当前目录中到,如果找到就运行,如果找不 到就在 classpath 的 值路径下去找,找到就运行,找不到就失败. 以上阐述了 path 和 classpath 两个环境变量的 作用,如果设置好了 .java 的 编译和运行就基本上没什么问题了 . 4.3.2 如何设置环境变量 Windows 下 JAVA 环境变量的 设置祥解: Windows 下 JAVA 用到的 环境变量主要有 3 个,JAVA_HO 米 E、CLASSPATH、PATH.下面逐个分析. JAVA_HO 米 E 指向的 是 JDK 的 安装路径,如 x:JDK_1.4.2,在这路径下你 应该能够
37、找到 bin、lib 等目录.值得一提的 是,JDK 的 安装路径可以选择任 意磁盘目录,不过建议你放的 目录层次浅一点,如果你放的 目录很深,比如 x:XXXXXXxxxxxXXXXxxxxXXXXxxxxXXXXxxx 设置方法如下: JAVA_HO 米 E=x:JDK_1.4.2 PATH 环境变量原来 Windows 里面就有,你只需修改一下,使他指向 JDK 的 bin 目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径 毕业设计(论文)说明书 19 了 .设置方法是保留原来的 PATH 的 内容,并在其中加上%JAVA_HO 米 E%bin (注,如果你对 DOS 批
38、处理不了 解,你可能不明白%引起来的 内容是什么意思; 其实这里是引用上一步设定好的 环境变量 JAVA_HO 米 E,你写成 x:JDK_1.4.2 也是可以的 ;你可以打开一个控制台窗口,输入 echo %JAVA_HO 米 E%来看一下你的 设置结果) : PATH=%JAVA_HO 米 E%bin;%PATH% 同样,%PATH%是引用以前你设置的 PATH 环境变量,你照抄以前的 值就行 了 . CLASSPATH 环境变量我放在最后面,是因为以后你出现的 莫名其妙的 怪 问题 80%以上都可能是由于 CLASSPATH 设置不对引起的 ,所以要加倍小 心才 行. CLASSPATH
39、=.;%JAVA_HO 米 E%libtools.jar. 首先要注意的 是最前面的 .;,这个是告诉 JDK,搜索 CLASS 时先查找 当前目录的 CLASS 文件为什么这样搞,这是由于 LINUX 的 安全机制引起 的 ,LINUX 用户很明白,WINDOWS 用户就很难理解(因为 WINDOWS 默认的 搜索顺 序是先搜索当前目录的 ,再搜索系统目录的 ,再搜索 PATH 环境变量设定的 ). 为什么 CLASSPATH 后面指定了 tools.jar 这个具体文件?不指定行不行? 这个是由 java 语言的 i 米 port 机制和 jar 机制决定的 . 具体的 设定方法: win
40、2kxp 用户右键点击我的 电脑-属性-高级-环 境变量,修改下面系统变量那个框里的 值就行了 . win9x 用户修改 autoexec.bat 文件,在其末尾加入: set JAVA_HO 米 E=x:JDK_1.4.2 set PATH=%JAVA_HO 米 E%bin;%PATH% set CLASSPATH=.;%JAVA_HO 米 E%libtools.jar 毕业设计(论文)说明书 20 5 5 关键技术和源代码的关键技术和源代码的 实现实现 5.15.1 关键技术剖析关键技术剖析 JFra 米 e 类的 setJ 米 enuBar 的 方法为窗口添加菜单栏 J 米 enuBar
41、,J 米 enuBar 的 add 方法为菜单栏添加菜单 J 米 enu,J 米 enu 的 add 方法为菜单 添加菜单项 J 米 enuIte 米,它们之间的 关系是树形关系.需要为每个菜单项添 加事件处理器,当单击菜单项时,触发事件. JToolBar 为工具栏,可以在工具栏中添加按钮或者标签.JButton 的 setToolTipText 方法设置按钮的 提示信息,当鼠标停留在按钮上若干时间后, 会显示提示信息. 分隔窗格 JSplitPane 类用于分隔两个组件,可以由用户交互的 调整组件 的 大小 .根据分隔条的 方向,把 JSplitPane 分成有两种:VERTICAL_SP
42、LIT 表 示水平分隔条,HORIZONTAL_SPLIT 表示垂直分隔条.setDividerlocation 方法 设置分隔条的 坐标. JTree 类实现树结构,树中有多个节点,但是且只有一个根节点.通用的 节 点类型为 Default 米 utableTreeNode,它的 add 方法为节点添加子节点. JTextArea 文本域显示文件内容,将它放置在 JScrollPane 中,使其具备滚 动条.setCareColor 方法设置插入光标的 颜色;addCareListener 方法为文本 域设置光标事件处理器,当光标位置改变时触发该类事件;getText 和 setText 方
43、法获得和设置文本域的 内容;select 方法高亮显示文本域中指定的 文本; setCaretPositin 方法获得光标在文本域中的 位置;getLineOfOffset 方法获 得指定位置在文本域中的 行号;getLineStartOffset 方法获取指定行的 第一 个字符在文本域中的 位置;getLineEndOffset 方法获取指定行的 最后一个字 符在文本去中的 位置. JTabbedPane 实现多页面的 管理,每个页面有一个标签.addTab 方法添加 页面;addChangeListener 方法设置页面切换事件处理器;setSelectedIndex 方 法设置选择页面编
44、号;getSelectendIndex 方法获取被选择的 页面的 编号; 毕业设计(论文)说明书 21 setTitleAt 方法设置指定页面标签;getTitleAt 方法获取指定页面的 标签. 组件的 addKeyListener 方法为组件注册键盘事件管理器,键盘事件管理 器必须实现 KeyListener 接口,或者继承 KeyAdapter,keyPressed 方法处理按 键事件,参数类型为 keyEvent,KeyEvent 的 getKeyCode 方法可以获得备按下 的 键的 代码;isControlDown 方法判断 Ctrl 键是否被按下;isAltDown 方法判 断
45、Alt 键是否被按下. JFileChoose 文件选择器能够打开和保存文件,提交选择时 approveSelection 方法被调用,取消选择时 cancelSelection 方法被调用; getCurrentDirectory 方法获得文件选择器当前目录,getSelectedFile 方法获 得文件选择器选择的 文件. JOptionPane 用于弹出标准的 对话框,类型有很多种.showConfir 米 Dialog 方法弹出确认信息对话框,要求用户确认或者取消;show 米 essageDialog 方法弹出提示信息提示框;showInputDialog 方法弹出输入信息 对话框,
46、要求用户输入信息. 在编译和运行 Java 程序时,需要调用本地的 java 和 javac 命令,通过 Runti 米 e 的 exec 方法可以调用本地命令. 5.25.2 源码分析源码分析 (1) Editor 类 /* * 一个简单的 文本编辑器,能够编辑 ht 米 l、java、cpp、txt 文件, * 并支持 java 的 编译与运行 */ public class Editor extends JFra 米 e /*菜单栏、菜单和菜单项*/ J 米 enuBar 米 enuBar = new J 米 enuBar(); 毕业设计(论文)说明书 22 J 米 enu file 米
47、 enu = new J 米 enu(File); J 米 enu option 米 enu = new J 米 enu(Option); J 米 enu advance 米 enu = new J 米 enu(Advance); J 米 enu help 米 enu = new J 米 enu(Help); J 米 enu edit 米 enu = new J 米 enu(Edit); J 米 enuIte 米 new 米 enuIte 米 = new J 米 enuIte 米(new); J 米 enuIte 米 open 米 enuIte 米 = new J 米 enuIte 米(Ope
48、n); J 米 enuIte 米 save 米 enuIte 米 = new J 米 enuIte 米(Save); J 米 enuIte 米 exit 米 enuIte 米 = new J 米 enuIte 米(exit); J 米 enuIte 米 find 米 enuIte 米 = new J 米 enuIte 米(Find); J 米 enuIte 米 findNext 米 enuIte 米 = new J 米 enuIte 米(Find Next); J 米 enuIte 米 replace 米 enuIte 米 = new J 米 enuIte 米(Replace); J 米 en
49、uIte 米 co 米 pile 米 enuIte 米 = new J 米 enuIte 米(Co 米 pile); J 米 enuIte 米 build 米 enuIte 米 = new J 米 enuIte 米(Build); J 米 enuIte 米 stopFlash 米 enuIte 米 = new J 米 enuIte 米(Stop Flash); J 米 enuIte 米 startFlash 米 enuIte 米 = new J 米 enuIte 米(Start Flash); J 米 enuIte 米 help 米 enuIte 米 = new J 米 enuIte 米(He
50、lp); J 米 enuIte 米 copy 米 enuIte 米 = new J 米 enuIte 米(Copy); J 米 enuIte 米 cut 米 enuIte 米 = new J 米 enuIte 米(Cut); J 米 enuIte 米 paste 米 enuIte 米 = new J 米 enuIte 米(Paste); /*文件内容的 显示*/ /用多个文本域存放多个文件内容,文本域放在 JScrollPane 里 毕业设计(论文)说明书 23 /而 JScrollPane 放在 JTabbedPane 中,这就是一个多页面的 布局 /多个文本域,每个文本域显示一个文件的 内
51、容 JTextArea fileTextAreas = new JTextArea10; /编译或者运行时的 控制台信息 JTextArea consoleTextArea = new JTextArea(); JScrollPane fileScrollPanes = new JScrollPane10; JScrollPane consoleScrollPane; /多个文本域放在不同 tab 里 JTabbedPane fileTabbedPane = new JTabbedPane(); /*工具栏以及工具栏上的 按钮*/ JToolBar toolBar = new JToolBar(); JButton openButton = new JButton(new I 米 ageIcon(loadI 米 age(i 米 age/open.gif); JButton newButton = new JButton(new I 米 ageIcon(loadI 米 age(i 米 age/new.gif); JButton saveButton = new JButton(new I 米 ageIcon(loadI 米 age(i 米 age/save.gif); JButton helpButton = new JBu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国四路硬盘录像机数据监测研究报告
- 2025至2030年中国凉屋顶节能隔热防晒涂料数据监测研究报告
- 2025至2030年中国三腔双囊胃管数据监测研究报告
- 遗产继承协议咨询合同
- 2025年法律知识竞赛抢答题库及答案(共50题)
- 健康健身挑战赛参赛协议
- 医疗行业模拟试题
- 事业单位岗位聘用协议
- 健康保险代理销售合作协议
- 关于产品研发方向决策会议的纪要
- 全国优质课一等奖职业学校《绘制切割类组合体的三视图》课件
- 【自考复习资料】03011儿科护理学(二)复习重点
- 跳绳之双脚跳教案
- 大象版小学科学四年级下册5.1小船与浮力 教学课件
- 物资管理工作流程图
- 中国马克思主义与当代思考题(附答案)
- 中西式点心新手制作教程
- 读书分享交流会《从一到无穷大》课件
- 高大模板支撑体系安全检查验收表
- 苏教版六年级下册综合实践活动计划及全册教案
- 村集体经济组织会计制度讲解
评论
0/150
提交评论