欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java程序设计实验报告-文本编辑器的设计与实现(共9页).doc

    • 资源ID:11387808       资源大小:87KB        全文页数:9页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java程序设计实验报告-文本编辑器的设计与实现(共9页).doc

    精选优质文档-倾情为你奉上Java程序设计实验报告学生姓名:邵强学号:课程编号:-0实验名称:文本编辑器的设计与实现实验内容:设计与实现一个文本编辑器,要求具有方便的图形用户界面,包括标题栏、菜单栏,菜单栏有相关的菜单和菜单项,有快捷键,具有编辑、打开、保存、复制、粘贴等功能(详细功能要求通过运行提供的字节码文件来确定,主类是JNotePadUI)。完成有关类的设计,并调试运行,给出有代表性的程序输出结果(程序运行截图)。程序代码如下:package note;import java.awt.*;import java.awt.event.*;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.*;import javax.swing.*;public class Mynote extends JFrame implements ActionListenerJMenu menuFile; JMenu menuEdit ; JMenu menuAbout; JPopupMenu popUpMenu; JTextArea txt=null; /编辑区JLabel lab=new JLabel("未修改");JFileChooser fileChooser = new JFileChooser();File saveFileName = null, fileName = null; public Mynote(String s) super(s); createMenuBar(); /菜单栏 createContentPane(); /文本编辑区组件 setBounds(100,100,600,450); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) closeFile(); ); setVisible(true); public void createMenuBar() JMenuBar menuBar = new JMenuBar(); menuFile = new JMenu("文件"); menuEdit = new JMenu("编辑"); menuAbout= new JMenu("关于"); menuBar.add(menuFile); menuBar.add(menuEdit); menuBar.add(menuAbout); JMenuItem itemOpen = new JMenuItem("打开"); menuFile.add(itemOpen); itemOpen.addActionListener(this); menuFile.addSeparator(); JMenuItem itemSave = new JMenuItem("保存"); menuFile.add(itemSave); itemSave.addActionListener(this); JMenuItem itemSaveas=new JMenuItem("另存为"); menuFile.add(itemSaveas); itemSaveas.addActionListener(this); menuFile.addSeparator(); JMenuItem itemQuit = new JMenuItem("关闭"); menuFile.add(itemQuit); itemQuit.addActionListener(this); JMenuItem itemCut = new JMenuItem("剪切"); menuEdit.add(itemCut); itemCut.addActionListener(this); JMenuItem itemCopy = new JMenuItem("复制"); menuEdit.add(itemCopy); itemCopy.addActionListener(this); JMenuItem itemPaste= new JMenuItem("粘贴"); menuEdit.add(itemPaste); itemPaste.addActionListener(this); JMenuItem itemAboutnote = new JMenuItem("关于NotePad"); menuAbout.add(itemAboutnote); itemAboutnote.addActionListener(this); /右键菜单 JMenuItem Copyitem=new JMenuItem("复制"); Copyitem.addActionListener(this); JMenuItem Cutitem=new JMenuItem("剪切"); Cutitem.addActionListener(this); JMenuItem Pasteitem=new JMenuItem("粘贴"); Pasteitem.addActionListener(this); popUpMenu=new JPopupMenu(); popUpMenu.add(Copyitem); popUpMenu.add(Cutitem); popUpMenu.add(Pasteitem);/快捷键itemOpen.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK,false); itemSave.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK,false);itemSaveas.setAccelerator(KeyStroke.getKeyStroke('A',Event.CTRL_MASK,false); itemQuit.setAccelerator(KeyStroke.getKeyStroke('Q',Event.CTRL_MASK,false);itemCut.setAccelerator(KeyStroke.getKeyStroke('X',Event.CTRL_MASK,false);itemCopy.setAccelerator(KeyStroke.getKeyStroke('C',Event.CTRL_MASK,false);itemPaste.setAccelerator(KeyStroke.getKeyStroke('V',Event.CTRL_MASK,false); setJMenuBar(menuBar); private boolean isChanged() if(lab.getText().equals("未修改") return false; else return true; public void actionPerformed(ActionEvent e) int option=-1; if(e.getActionCommand().equals("打开") option=0; if(e.getActionCommand().equals("保存") option=1; if(e.getActionCommand().equals("另存为") option=2; if(e.getActionCommand().equals("关闭") option=3; if(e.getActionCommand().equals("剪切") option=4; if(e.getActionCommand().equals("复制") option=5; if(e.getActionCommand().equals("粘贴") option=6; if(e.getActionCommand().equals("关于NotePad") option=7; switch(option) case 0: if(!isChanged() open(); else int option2=JOptionPane.showConfirmDialog(this,"文件已修改,是否保存?","保存文件?",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null); switch(option2) case JOptionPane.YES_OPTION: saveFile();/保存文件 break; case JOptionPane.NO_OPTION: open(); break; break; case 1: saveFile();break; case 2: saveFileAs();break; case 3: closeFile();break; case 4: Cut();break; case 5:Copy();break; case 6: Paste();break; case 7: about();break; default: break; public void createContentPane() /文本编辑区组件 JScrollPane scrollPane; /滑动条 txt = new JTextArea(10,30); txt.setEditable(true); txt.setFont(new Font("宋体",Font.PLAIN,18); txt.setLineWrap(true); scrollPane = new JScrollPane(txt); add(scrollPane, BorderLayout.CENTER); add(lab,BorderLayout.SOUTH); txt.addKeyListener(new KeyAdapter() public void keyTyped(KeyEvent e) lab.setText("已修改"); ); txt.addMouseListener(new MouseAdapter() public void mouseReleased(MouseEvent e) if(e.getButton()=MouseEvent.BUTTON3) popUpMenu.show(e.getComponent(),e.getX(),e.getY(); public void mouseClicked(MouseEvent e) if(e.getButton()=MouseEvent.BUTTON1) popUpMenu.setVisible(false); ); private void open() int option=fileChooser.showOpenDialog(this); if(option=JFileChooser.APPROVE_OPTION) try /打开所选文件 BufferedReader buf=new BufferedReader(new FileReader(fileChooser.getSelectedFile(); /设置文件标题 setTitle(fileChooser.getSelectedFile().toString(); /删除前一次文件 txt.setText(""); /设置状态栏 lab.setText("未修改"); /取得系统相依的换行符 String lineSeparator=System.getProperty("line.separator"); /读取文件并附加至文字编辑区 String text; while(text=buf.readLine()!=null) txt.append(text); txt.append(lineSeparator); buf.close(); catch(IOException e) JOptionPane.showMessageDialog(this,e.toString(),"打开文件失败",JOptionPane.ERROR_MESSAGE); private void saveFile() /从标题栏取得文件名称 File file=new File(getTitle(); /若指定文件不存在 if(!(file.exists() saveFileAs(); else try /打开指定文件 BufferedWriter buf=new BufferedWriter(new FileWriter(file); /将文字编辑区的文字写入文件 buf.write(txt.getText(); buf.close(); /设置状态栏为未修改 lab.setText("未修改"); catch(IOException e) JOptionPane.showMessageDialog (this, e.toString(),"写入文件失败",JOptionPane.ERROR_MESSAGE); private void saveFileAs() /显示对话框 int option3=fileChooser.showSaveDialog(this); /如果确认选择文件 if(option3=JFileChooser.APPROVE_OPTION) /取得选择的文件 File file=fileChooser.getSelectedFile(); /在标题栏上设置文件名称 setTitle(file.toString(); try /建立文件 file.createNewFile(); /进行文件保护 saveFile(); catch(IOException e) JOptionPane.showMessageDialog(this,e.toString(),"无法建立文件",JOptionPane.ERROR_MESSAGE); private void closeFile() /是否已保存文件 if(!isChanged() dispose(); else int option= JOptionPane.showConfirmDialog (this,"文件已修改,是否保存?","保存文件?", JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null); switch(option) case JOptionPane.YES_NO_OPTION: saveFile(); case JOptionPane.NO_OPTION: dispose(); private void Cut() txt.cut(); lab.setText("已修改"); popUpMenu.setVisible(false); private void Copy() txt.copy(); popUpMenu.setVisible(false); private void Paste() txt.paste(); lab.setText("已修改"); popUpMenu.setVisible(false); private void about() /显示对话框 JOptionPane.showOptionDialog(this,"程序名称n"+" JNotePadn"+ "简介:n"+" 一个简单的文字编辑器n", "关于JNotePad",JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,null,null,null); public static void main(String args) new Mynote("陆庆庆"); 程序有代表性的输出结果及结果分析:这是其中的几个画面截图。这段程序可以执行简单的文字编辑,包括:打开,保存,另存为,关闭,复制,粘贴,剪切和关于,同时可以右键菜单和有状态栏。专心-专注-专业

    注意事项

    本文(Java程序设计实验报告-文本编辑器的设计与实现(共9页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开