版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、作品要求编写记事本程序。该系统设计一个记事本应该具有以下功能:菜单中要求有文件,编辑,和帮助。文件中有新建、打开、保存和退出;3.编辑中有剪切、和粘贴;4.帮助中显示开发人和版本信息。另外系统应提供菜单,用户依据菜单的提示进行具体操作。菜单应该简明扼要、美观。必要时可以设置子菜单。二、学生作品分析1、算法分析和设计文章编辑的算法是对输入的字符串进行统计、对输入的文章进行编辑以及一些其他的功能。在算法设计上,先设计出计算器面板,菜单放在菜单条里,菜单项放在菜单里,将面板采用 BorderLayout 布局,将文本框放入面板的 Center,将状态栏放入面板的 South。其次写出各事件,如新
2、建记事本、保存记事本、编辑、鼠标等事件;最后函数中调用各功能。在统计输入的字符串时,可以定义相应的统计计数变量,对输入的字符串按每一个字符截取进行判断。在判定时,若符合条件则在相应的统计数上加 1,若不符则直接跳至下一个判断模块。其他的功能也可以采取对应的方法函数进行控制,在使用时可以直接调用即可实现该功能。2、系统分析该系统设计了如下功能:文件,编辑,和帮助。新建、打开、保存和退出;3.编辑中有剪切、和粘贴;4.帮助中显示开发人和版本信息下面函数对应完成上述功能: void openFile(JTextArea text)void saveFile(JTextArea text) void
3、helpFrame()public void actionPerformed(ActionEvent e)3、代码分析下面就系统代码做简单的分析。代码如下:package soft.ght;import import import importimportjava.awt.*;java.awt.daransfer.Clipboard;java.awt.daransfer.DataFlavor;java.awt.daransfer.Transferable;java.awt.daransfer.UnsupportedFlavorException;import import import imp
4、ort import import import import importpublicjava.awt.event.*; java.io.*; java.text.SimpleDateFormat; java.util.Calendar; java.util.Locale; javax.swing.event.*; javax.swing.undo.*; javax.swing.*;javax.swing.filechooser.FileFilter;cla otepad extends JFrame implementsActionListener,MouseListenerJ J J J
5、JBar bar;file , edit, help;Item ItemItemfnew , fopen, fsave, fexit; ecut, ecopy, epaste; mh1,mh2;ta;usLabel;JTextAreaJLabel sFile file2 = null;isNewfile = true; JPanel p1;JFileChooser filechooser = new JFileChooser(); Toolkit toolKit = Toolkit.getDefaultToolkit(); Clipboard clipBoard = toolKit.getSy
6、stemClipboard(); String oldValue;Notepad()p1 = new JPanel(); p1.setLayout(new BorderLayout();bar = new Jfile = fnew = new JBar();new J(文件);Item(新建);JItem(打开);JItem(保存);JItem(退出);fopenfsave fexit=newnew newfile.add(fnew);file.add(fopen); file.add(fsave); file.addSeparator(); file.add(fexit);fnew.addA
7、ctionListener(this); fopen.addActionListener(this); fsave.addActionListener(this);fexit.addActionListener(this);edit = new Jecut =(编辑);new JItem(剪切);ecopy = new JItem();epaste = new JItem(粘贴); edit.add(ecut);edit.add(ecopy);edit.add(epaste); ecopy.addActionListener(this);ecut.addActionListener(this)
8、;epaste.addActionListener(this);help = new Jmh1 = new J(帮助);Item(关于记事本);mh1.addActionListener(this); help.add(mh1); bar.add(file); bar.add(edit); bar.add(help);setJBar(bar);ta = new JTextArea(); ta.addMouseListener(this);p1.add(ta,BorderLayoENTER);usLabel = new JLabel(按Ctrl+F1获取帮助);sp1.add(susLabel,
9、 BorderLayout.SOUTH);this.addWindowListener(new Win(); add(p1);setVisible(true); setSize(400,500);public void actionPerformed(ActionEvent e) if (e.getSource() = fnew ) /新建 ta.requestFocusInWindow();Object options = 确定, 取消 ;s = JOptionPane.showOptionDialog(null,“确定”新建文件,请注意保存文档!按警告!, JOptionPane.DEFA
10、ULT_OPTION,JOptionPane.WARNING_MESSAGE, null, options,options0);if (s = JOptionPane.YES_OPTION) ta.setText();isNewfile = true;susLabel.setText(空白文档);file2 = null;else if (e.getSource() = fopen) ta.requestFocusInWindow();if (file != null) filechooser.setSelectedFile(file2);filechooser.addChoosableFil
11、eFilter(new JAVAFileFilter(txt);returnVal = filechooser.showOpenDialog(Notepad.this);if (returnVal = JFileChooser.APPROVE_OPTION) file2 = filechooser.getSelectedFile(); openFile(ta);isNewfile = false;susLabel.setText(当前打开文件: +file2.getAbsoluteFile()+ 行: + 列:eger.toString(ta.getRows()+eger.toString(t
12、a.getColumns();ta.setCaretition(0); else if (e.getSource() = fsave ta.requestFocusInWindow(); saveFile(ta);else if (e.getSource() = fexit) ta.requestFocusInWindow(); System.exit(0);else if (e.getSource() = ecut ) ta.requestFocusInWindow(); ta.cut();checkItemEnabled(); else if (e.getSource() = ecopy
13、ta.requestFocusInWindow(); ta.copy();checkItemEnabled();) else if (e.getSource() = epaste)ta.requestFocusInWindow();tcheckte();ItemEnabled();else if (e.getSource() = mh1) helpFrame();void openFile(JTextArea text) try FileReader frlen = (char buffer=)=new FileReader(file2); file2.length();new charlen
14、;0, len);fr.read(buffer,fr.close();text.setText(new String(buffer); catch (Exception e) e.prStackTrace();void saveFile(JTextArea text) ta.requestFocusInWindow(); if (isNewfile) JFileChooser fileChooser = new JFileChooser(); fileChooser.addChoosableFileFilter(newJAVAFileFilter(txt);fileChooser.setApp
15、roveButtonText(确定); fileChooser.setDialogTitle(另存为);result = fileChooser.showSaveDialog(this);if (result = JFileChooser.CANCEL_OPTION) susLabel.setText(没有选择任何文件);return;File saveFileName = fileChooser.getSelectedFile();if (saveFileName = null | saveFileName.getName().equals()JOptionPane.showMessageD
16、ialog(this, 不合法的文件名, 不合法的文件名,JOptionPane.ERROR_MESSAGE);else try FileWriter fw = new FileWriter(saveFileName+.txt); BufferedWriter bfw = new BufferedWriter(fw); bfw.write(ta.getText(), 0, ta.getText().length(); bfw.flush();fw.close(); isNewfile = false;file2 = saveFileName;oldValue = ta.getText();us
17、Label.setText( 当前打开文件:+ saveFileName.getAbsoluteFile(); catch (IOException ioException) s else try FileWriter fw = new FileWriter(file2); BufferedWriter bfw = new BufferedWriter(fw); bfw.write(ta.getText(), 0, ta.getText().length();bfw.flush();fw.close(); catch (IOException ioException) public void
18、check String selectTextif (selectText =ItemEnabled() = ta.getSelectedText();null) ecut.setEnabled(false); ecopy.setEnabled(false); else ecut.setEnabled(true); ecopy.setEnabled(true);Transferable contents = clipBoard.getContents(this);if (contents = null) epaste.setEnabled(false); else epaste.setEnab
19、led(true);voidhelpFrame() String help = 该记事本仅限Java的使用!n+该记事本源代码来源于信管0702班!n+该记事本程序暂无帮助,您可以参考WindowsXP的记事本帮助程序!n+ 欢迎和信管0702班联系交流!n;JOptionPane.showConfirmDialog(null, help, 帮助, JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE);public void mouseClicked(MouseEvent e) checkItemEnabled();public
20、 voidpublic voidcheckmouseEntered(MouseEvent e) mouseExited(MouseEvent e) ItemEnabled();publicpublicpublicvoidmousePressed(MouseEvent e) voidmouseReleased(MouseEvent e) sic void main(String args) try UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel);Font font UIManag UIMan
21、ag UIManag UIManagUIManag= newut(ut(ut(Font(Dialog, Font.PLAIN, Bar.font, font); Item.font, font);.font, font);12);ut(Dialog.font, font);ut(JOptionPane.font,font); catch (Exception e) Notepad frm = new Notepad(); frm.addWindowListener(new Win();class JAVAFileFilter extends FileFilter String ext;public JAVAFileFilter(String ext)this.ext = ext;publicaccept(File file)if (file.isDirectory()return true;String fileName = file.getName(); index
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度工程建设合同担保协议
- 2024年度大型仓储配送中心租赁合同
- 2024年度保险服务采购合同附带培训与全文阅读
- 2024年度环保设施建造与运营合同
- 2024年度健身服务合同会员权益与服务内容
- 三管的预防与护理
- 2024年度城市更新砌体劳务承包合同
- 2024年度图书馆书架安装与馆内装修合同
- 2024年度商务租赁合同:北京市西城区办公室租赁协议
- 2024年度房产交易过户费用分摊合同
- 小儿急性喉炎4课件
- 一年级下册美术教案-第19课 大树的故事|冀美版
- 传染病应急演练方案(3篇)
- 输尿管结石护理查房PPT
- 江苏学业水平测试化学知识点总结苏教版
- 易纲货币银行学(第一、二章)
- 妇科杂病,阴挺,中医妇科学课件
- 液压与气压传动完整版课件
- 先秦两汉散文(2)概要课件
- DB44∕T 876-2011 物业服务 会务服务规范
- 湘教版数学八上2.5.4全等三角形的判定(AAS) 教案
评论
0/150
提交评论