- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
题目内容及要求********************************4
设计思路**************************************4
具体实现**************************************6
运行调试与分析讨论****************************15
设计体会与小结********************************22
参考文献**************************************23
一.题目内容及要求
Java文档编辑器是一个允许修改DefaultStyledDocument对象的应用程序。这些对象用于管理Swing文本组件(例如JTextPane和JTextArea)的内容。JTextPane用于显示DefaultStyledDocument的内容。通过改变与DefaultStyledDocument相关联的Style对象,能够改变 DefaultStyledDocument在 JTextPane中的显示方式。此应用程序也能够将DefaultStyledDocument存储到磁盘上和读入以前存储的DefaultStyledDocument。读、写、操纵DefaultStyledDocument的所有选项都可以通过使用菜单项来实现。当这些菜单项被选中时,它们生成事件。使用ActionListener, ItemListener, UndoableEditListener和MenuDragMouseListener对象来处理这些事件。
二.设计思路
Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部件。 文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。TextEditorFrame //主窗体初始化
JMenu //菜单的定义
initTextPane //面板初始化
initMenu //菜单的初始化
ActionListener action //事件处理
saveFile //保存文件
initAboutDialog //关于对话框
initToolBar //工具栏
class JSplashWindowEx extends JWindow implements Runnable//启动屏
功能实现:
1.主窗体初始化功能
TextEditorFrame()
{
initTextPane();
initMenu();
initAboutDialog();
initToolBar();
}
2.面板初始化功能
void initTextPane()
{
setFont(new Font(Times New Roman,Font.PLAIN,12));
getContentPane().add( new JScrollPane(text));
3.菜单初始化功能
void initMenu()
{
for(int i=0;imenus.length;i++)
{
menubar.add(menus[i]);
for(int j=0;jmenuitems[i].length;j++)
{
menus[i].add(menuitems[i][j]);
menuitems[i][j].addActionListener(action);
}
文档评论(0)