面向对象程序设计资料_第1页
面向对象程序设计资料_第2页
面向对象程序设计资料_第3页
面向对象程序设计资料_第4页
面向对象程序设计资料_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象程序设计面向对象程序设计课程设计报告课程设计报告班级:班级:_姓名:姓名:_学号:学号:_日期:日期:_辽宁工程技术大学软件学院目目录录1.设计内容设计内容.12.概要设计概要设计.13.自定义类及接口说明自定义类及接口说明.14.程序源码程序源码.25.程序运行与调试程序运行与调试.66.总结总结.77.参考文献参考文献.7 标题:(样式选择标题 1,段前端后 10 磅,三号字体,1.5 倍行距)正文:(小四字体,1.5 倍行距)参考文献(5 号字体,1.5 倍行距)1. 设计内容设计内容参照实验题目2. 概要设计概要设计对设计题目进行分析,说明程序各个功能该如何实现的,使用了哪些类

2、。Java 程序编辑器是:图形界面、线程、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了 AWT 来完成实现,在选择组件上,文本编辑区就选用了 TaxtArea 作为主要的部件。线程实现文件自动保存:在相关的参考书上查阅到在 Time 类中有一个schedule 方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了 Time 类中的 schedule 方法来实现文件自动保存及备份功能。文件操作的实现:利用了字符文件流 FileReader 和 FileWriter 类来实现。由于 Java 的特性,可能用任何一个编辑器来编辑,于是就将 Windo

3、ws 中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法3. 自定义类及接口说明自定义类及接口说明对类和接口说明格式参照如下:类名:EditInstantiation父类:WindowAdapter作用:实例化对象主要成员变量:(代码及说明字体五号,单

4、倍行距)Frame myFrm / 定义主窗体TextArea myText / 定义文本编辑区Dialog myDlgFind,myDlgFindont /查找及设置字体对话框TextField TFfind, TFreplace, TffontSize /查找对话框和字体窗体中的文本行Button BfontOK, Bfind, Breplace, Bnext, Bcancel /定义和创建各按钮Label Lf, Lr, Ls /定义和创建各标签MenuBar Mbbar /定义和创建主菜单Menu Mfile,Medit,Mformation,Mhelp /定义和创建主菜单中的选项To

5、olkit toolKitClipboard myCB /剪切板对象FileDialog myFDlg /定义文件对话框Choice ChfontName /定义和创建字体选择框private int VIindex = 1; /构成文件名后缀变量private String VSsubFixStr=.java; /构成文件名扩展名变量private String VSmyFileName = Document1,VSmyBFileName; /文件名及备份文件名变量private File VFmyFile=new File(VSmyFileName+VIindex+.java); /文件名

6、变量 private int VIsearchPosition=0; /查找位置指针 private Timer VTtime; /实例化一个 Time 类private int VImin=1; / schedule 方法中的一个时间参数private int VItype=JOptionPane.INFORMATION_MESSAGE; /提示对话框类型private String VStitle; /提示对话框标题private String VSmessage; /提示对话框信息 private boolean VBchanged = true; /改变字体的一个标识主要成员方法:(代

7、码及说明字体五号,单倍行距)public void init() /初始化各部件菜单的定义和事件的监听public void displayEdit ()/显示窗体及调用 Time 中的 schedule 方法public void windowClosing () /关闭窗体public void save /保存文件方法4. 程序源码程序源码代码排版格式要求(整齐,层次清晰,字体一致,单倍行距,字体 5 号)class EditInstantiation extends WindowAdapter /默认属性类 /define sources 定义各部件 Frame myFrm=new F

8、rame(我的编辑器); /定义窗体 TextArea myText=new TextArea(); /定义窗体 Dialog myDlgFind=new Dialog(myFrm,查找,true); /定义查找对话框 Dialog myDlgFindont=new Dialog(myFrm,字体,true); /定义字体对话框 TextField TFfind=new TextField(30);/定义查找对话中的查找输入框 TextField TFreplace=new TextField(30); /定义查找对话中的替换输入框 TextField TFfontSize,TFfontDem

9、o;/定义字体大小文本框和示例框 Choice CHfontName;/定义字体大小选择框 List LTfontSize; /定义字体大小标签 Button BfontOK,BfontCancel; /定义字体大小对话中的确定及取消按钮 Button Bfind=new Button(查找);/定义查找对话中的查找按钮 Button Breplace=new Button(替换);/定义查找对话中的替换及取消按钮 Button Bnext=new Button(下一个);/定义查找对话中的下一个及取消按钮 Button Bcancel=new Button(取消);/定义查找对话中的确定及取

10、消按钮 Label Lf=new Label(查找内容:); Label Lr=new Label(替换为: ); Label Ls=new Label(字体大小:); FileDialog myFDlg; Clipboard myCB=Toolkit.getDefaultToolkit().getSystemClipboard(); /剪切板对象 Menu Mfile,Medit,Mformation,Mhelp; MenuBar MBbar; /define varities /定义各变量 private int VIindex = 1; private String VSsubFixSt

11、r=.java; private String VSmyFileName = Document1,VSmyBFileName; private File VFmyFile=new File(VSmyFileName+VIindex+.java); private int VIsearchPosition=0; private Timer VTtime; private int VImin=1; private int VItype=JOptionPane.INFORMATION_MESSAGE; private String VStitle; private String VSmessage;

12、 private boolean VBchanged = true; private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; public void init() /初始化各部件 /- set menu - MBbar=new MenuBar(); myFrm.setMenuBar(MBbar); Mfile=new Menu(文件); Medit=new Menu(编辑); Mformation=new Menu(格式); Mhelp=new Menu(帮助); MBbar.add(Mfile

13、); MBbar.add(Medit); MBbar.add(Mformation); MBbar.add(Mhelp); /文件菜单 add File menu Mfile.add(new MenuItem(新建,new MenuShortcut(KeyEvent.VK_N); Mfile.add(new MenuItem(打开,new MenuShortcut(KeyEvent.VK_O); Mfile.add(new MenuItem(保存,new MenuShortcut(KeyEvent.VK_S); Mfile.add(new MenuItem(另存为); Mfile.addSep

14、arator();/分隔线 Mfile.add(new MenuItem(退出,new MenuShortcut(KeyEvent.VK_E); /编辑菜单 add Edit menu Medit.add(new MenuItem(剪切);/,new MenuShortcut(KeyEvent.VK_X); Medit.add(new MenuItem(复制);/new MenuShortcut(KeyEvent.VK_C); Medit.add(new MenuItem(粘贴);/new MenuShortcut(KeyEvent.VK_V); Medit.add(new MenuItem(

15、删除);/new MenuShortcut(KeyEvent.VK_D); Medit.addSeparator();/分隔线 Medit.add(new MenuItem(查找/替换,new MenuShortcut(KeyEvent.VK_F); Medit.addSeparator();/分隔线 Medit.add(new MenuItem(全选,new MenuShortcut(KeyEvent.VK_A); /格式菜单 add Formation menu Mformation.add(new MenuItem(字体,new MenuShortcut(KeyEvent.VK_U);

16、/帮助菜单 add Formation menu Mhelp.add(new MenuItem(关于作者); /- menu add end - /add Menu Action Listener Mfile.addActionListener(new KeyEvents(); Medit.addActionListener(new KeyEvents(); Mformation.addActionListener(new KeyEvents(); Mhelp.addActionListener(new FindKeyEvent(); /- Find dialog- myDlgFind.set

17、Size(350,115); myDlgFind.setLocation(250,150); myDlgFind.setLayout(new FlowLayout(FlowLayout.CENTER); myDlgFind.setBackground(Color.LIGHT_GRAY); Bfind.setEnabled(false); Breplace.setEnabled(false); Bnext.setEnabled(false); myDlgFind.add(Lf); myDlgFind.add(TFfind); myDlgFind.add(Lr); myDlgFind.add(TF

18、replace); myDlgFind.add(Bfind); myDlgFind.add(Breplace); myDlgFind.add(Bnext); myDlgFind.add(Bcancel); /为查找对话框窗体注册事件监听 myDlgFind.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) myDlgFind.setVisible(false); ); TFfind.addKeyListener(new KeyEvents();/注册事件监听 Bfind.addActio

19、nListener(new FindKeyEvent(); Breplace.addActionListener(new FindKeyEvent(); Bcancel.addActionListener(new FindKeyEvent(); Bnext.addActionListener(new FindKeyEvent(); /- end add action listener - /=set font dialog = /font size text field TFfontSize = new TextField(8,14); TFfontSize.selectAll(); /fon

20、t size list field LTfontSize.addItemListener(new fontEvent(); for(int i = VIfontSizeMin; i = VIfontSizeMax; i = i + VIfontSizeChangedStep) LTfontSize.add(i + );/添加字体大小 LTfontSize.select(0); /two Button Ok Cancel BfontOK = new Button(确定); BfontOK.addActionListener(new fontEvent(); BfontCancel = new B

21、utton(取消); BfontCancel.addActionListener(new fontEvent(); /a TextField for demo the font TFfontDemo = new TextField(Java awt,37); TFfontDemo.setEditable(false); / my font dialog 设置字体对话框 myDlgFindont.setLayout(new FlowLayout(FlowLayout.LEFT); myDlgFindont.setBackground(Color.LIGHT_GRAY); myDlgFindont

22、.add(Ls); myDlgFindont.add(TFfontSize); myDlgFindont.add(BfontOK); myDlgFindont.add(BfontCancel); myDlgFindont.add(LTfontSize); myDlgFindont.add(TFfontDemo); myDlgFindont.setSize(300,200); myDlgFindont.setLocation(300,200); myDlgFindont.setResizable(false); /为字体对话框窗体注册事件监听 myDlgFindont.addWindowList

23、ener(new WindowAdapter() public void windowClosing(WindowEvent e) myDlgFindont.show(false);); /=end set font dialog / =set Edit frame 设置编辑器窗休 myFrm.add(myText,BorderLayout.CENTER); myFrm.setSize(500,400); myFrm.setBackground(Color.lightGray); myFrm.addWindowListener(this); myFrm.setSize(500,400); myFrm.setLocation(200,100); myFrm.setTitle(Java 编辑器); /显示窗体 public void displayEdit() myFrm.setVisible(true); /-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论