学生作品_记事本说明_第1页
学生作品_记事本说明_第2页
学生作品_记事本说明_第3页
学生作品_记事本说明_第4页
学生作品_记事本说明_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论