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

    Java记事本程序源代码(共18页).doc

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

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

    Java记事本程序源代码(共18页).doc

    精选优质文档-倾情为你奉上import java.awt.CheckboxMenuItem;import java.awt.Color;import java.awt.Container;import java.awt.FileDialog;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GraphicsEnvironment;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.MenuShortcut;import java.awt.TextArea;import java.awt.Toolkit;import java.awt.Window;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Transferable;import java.awt.datatransfer.UnsupportedFlavorException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JButton;import javax.swing.JColorChooser;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class notebook / 记事本的具体实现类 private static final long serialVersionUID = 1L; private TextArea content; private String filePath = ""/先让路径为空 Color color=Color.red; Toolkit toolKit = Toolkit.getDefaultToolkit(); Clipboard clipboard = toolKit.getSystemClipboard(); public notebook() /创建一个JFrame对象;并设置相关属性 final JFrame jf = new JFrame("我的记事本"); jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); jf.setBounds(100,100,500,500); jf.setResizable(true); jf.setVisible(true); /创建菜单栏 MenuBar menu = new MenuBar(); jf.setMenuBar(menu); /创建并添加文本框 content = new TextArea("",50,50,TextArea.SCROLLBARS_VERTICAL_ONLY); jf.add(content); content.setVisible(true); content.requestFocusInWindow(); /菜单栏添加内容 Menu filemenu = new Menu("文件(F)"); Menu editmenu = new Menu("编辑(E)"); Menu formatmenu = new Menu("格式(O)"); Menu viewmenu = new Menu("查看(V)"); Menu helpmenu = new Menu("帮助(H)"); menu.add(filemenu); menu.add(editmenu); menu.add(formatmenu); menu.add(viewmenu); menu.add(helpmenu); /创建文件菜单上的各个菜单项并添加到菜单上 MenuItem newitem = new MenuItem("新建(N)"); newitem.setShortcut(new MenuShortcut(KeyEvent.VK_N,false); filemenu.add(newitem); MenuItem openitem = new MenuItem("打开(O)"); openitem.setShortcut(new MenuShortcut(KeyEvent.VK_O,false); filemenu.add(openitem); MenuItem saveitem = new MenuItem("保存(S)"); saveitem.setShortcut(new MenuShortcut(KeyEvent.VK_S,false); filemenu.add(saveitem); MenuItem saveasitem = new MenuItem("另存为(A)"); saveasitem.setShortcut(new MenuShortcut(KeyEvent.VK_A,false); filemenu.add(saveasitem); MenuItem setitem = new MenuItem("页面设置(U)"); setitem.setShortcut(new MenuShortcut(KeyEvent.VK_U,false); filemenu.add(setitem); setitem.setEnabled(false); MenuItem printitem = new MenuItem("打印(P)"); printitem.setShortcut(new MenuShortcut(KeyEvent.VK_P,false); filemenu.add(printitem); printitem.setEnabled(false); filemenu.addSeparator(); MenuItem exititem = new MenuItem("退出(X)"); exititem.setShortcut(new MenuShortcut(KeyEvent.VK_X,false); filemenu.add(exititem); /添加监听器来实现文件菜单上的各个菜单项的功能 /新建菜单项的功能实现 newitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) String con = content.getText(); if(!con.equals("")/文本域里文本不为空 int result = JOptionPane.showConfirmDialog( null, ("是否要保存?"),("保存文件."),JOptionPane.YES_NO_CANCEL_OPTION); if(result = JOptionPane.NO_OPTION)/不保存 content.setText(""); else if(result = JOptionPane.CANCEL_OPTION)/取消新建 else if(result = JOptionPane.YES_OPTION)/选择保存 JFileChooser jfc = new JFileChooser();/用于选择保存路径的文件名 int bcf = jfc.showSaveDialog(jf); if(bcf = JFileChooser.APPROVE_OPTION) try /保存文件 BufferedWriter bfw = new BufferedWriter( new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+".txt"); filePath = jfc.getSelectedFile().getAbsolutePath()+".txt"/获取文件保存的路径 bfw.write(con);/向文件写出数据 bfw.flush(); bfw.close();/关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex); new notebook();/新建文本文件 ); /打开菜单项的功能实现 openitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) /JFileChooser jfile = new JFileChooser();/FileNameExtensionFilter filter = new FileNameExtensionFilter("*.txt","txt");/jfile.setFileFilter(filter);/jfile.setVisible(true);/int returnval = jfile.showOpenDialog(jfile);/filePath = jfile.getDialogTitle()+jfile.getSelectedFile().getName();/System.out.println(jfile.getSelectedFile();FileDialog dialog = new FileDialog(new JFrame(),"打开.",FileDialog.LOAD);dialog.setVisible(true);filePath = dialog.getDirectory() + dialog.getFile(); System.out.println(filePath);File file = new File(filePath);BufferedReader br = null;StringBuilder sb = new StringBuilder();trybr = new BufferedReader (new FileReader(file);String str = null;while (str = br.readLine() != null)sb.append(str).append("n");content.setText(sb.toString();catch(FileNotFoundException e1)e1.printStackTrace();catch(IOException e1)e1.printStackTrace();finallyif(br != null)trybr.close();catch(IOException e1)e1.printStackTrace(); ); /保存菜单项的功能实现 saveitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) /FileDialog dialog = new FileDialog(new JFrame(),"保存.",FileDialog.SAVE);/dialog.setVisible(true);/filePath = dialog.getDirectory() + dialog.getFile();/File file = new File(filePath);/BufferedWriter bw = null;/try/bw = new BufferedWriter(new FileWriter(file);/bw.write(content.getText();/catch(FileNotFoundException e1)/e1.printStackTrace();/catch(IOException e1)/e1.printStackTrace();/finally/if(bw != null)/try/bw.close();/catch(IOException e1)/e1.printStackTrace();/FileDialog dialog = new FileDialog(new JFrame(),"保存.",FileDialog.SAVE);dialog.setVisible(true);filePath = dialog.getDirectory() + dialog.getFile();if(filePath.equals("")/没有路径时,就另存为 JFileChooser jfc = new JFileChooser();/用于选择保存路径的文件名 int bcf = jfc.showSaveDialog(jf);/弹出保存窗口 if(bcf = JFileChooser.APPROVE_OPTION) try /保存文件 BufferedWriter bfw = new BufferedWriter( new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+".txt"); filePath = jfc.getSelectedFile().getAbsolutePath(); bfw.write(content.getText();/向文件写出数据 bfw.flush(); bfw.close();/关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex); else/路径不为空时,保存在原来的路径下 try /保存文件 BufferedWriter bfw = new BufferedWriter( new FileWriter( new File(filePath); bfw.write(content.getText();/向文件写出数据 bfw.flush(); bfw.close();/关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex); ); /另存为菜单项的功能实现 saveasitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) JFileChooser jfc = new JFileChooser();/用于选择保存路径的文件名 int bcf = jfc.showSaveDialog(jf);/弹出保存窗口 if(bcf = JFileChooser.APPROVE_OPTION) try /保存文件 BufferedWriter bfw = new BufferedWriter( new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+".txt"); filePath = jfc.getSelectedFile().getAbsolutePath(); bfw.write(content.getText();/向文件写出数据 bfw.flush(); bfw.close();/关闭输出流 catch (IOException ex) Logger.getLogger(notebook.class.getName().log(Level.SEVERE, null, ex); ); /页面设置菜单项的功能实现 setitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) ); /打印菜单项的功能实现 printitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) ); /退出菜单项的功能实现 exititem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) Object options = "是的,我要退出", "不好意思,点错了" ;int option = JOptionPane.showOptionDialog(null, "您确定要退出吗?", "退出提示.",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE, null,options, options0); if(option = JOptionPane.OK_OPTION) System.exit(0); ); /创建编辑菜单上的各个菜单项并添加到菜单上 MenuItem undoitem = new MenuItem("撤销(U)"); undoitem.setShortcut(new MenuShortcut(KeyEvent.VK_Z,false); editmenu.add(undoitem); MenuItem cutitem = new MenuItem("剪切(T)"); cutitem.setShortcut(new MenuShortcut(KeyEvent.VK_X,false); editmenu.add(cutitem); MenuItem copyitem = new MenuItem("复制(C)"); copyitem.setShortcut(new MenuShortcut(KeyEvent.VK_C,false); editmenu.add(copyitem); MenuItem pasteitem = new MenuItem("粘贴(P)"); pasteitem.setShortcut(new MenuShortcut(KeyEvent.VK_V,false); editmenu.add(pasteitem); MenuItem deleteitem = new MenuItem("删除(L)"); deleteitem.setShortcut(new MenuShortcut(KeyEvent.VK_DELETE,false); editmenu.add(deleteitem); editmenu.addSeparator(); MenuItem finditem = new MenuItem("查找(F)"); finditem.setShortcut(new MenuShortcut(KeyEvent.VK_F,false); editmenu.add(finditem); MenuItem nextitem = new MenuItem("查找下一个(N)"); nextitem.setShortcut(new MenuShortcut(KeyEvent.VK_3,false); editmenu.add(nextitem); MenuItem replaceitem = new MenuItem("替换(R)"); replaceitem.setShortcut(new MenuShortcut(KeyEvent.VK_H,false); editmenu.add(replaceitem); MenuItem turntoitem = new MenuItem("转到(G)"); turntoitem.setShortcut(new MenuShortcut(KeyEvent.VK_G,false); editmenu.add(turntoitem); editmenu.addSeparator(); /复选菜单项 Menu choicemenu = new Menu("选择(C)"); MenuItem allitem = new MenuItem("全选(A)"); allitem.setShortcut(new MenuShortcut(KeyEvent.VK_A,false); choicemenu.add(allitem); MenuItem fanxiangitem = new MenuItem("反向选择(B)"); fanxiangitem.setShortcut(new MenuShortcut(KeyEvent.VK_B,false); choicemenu.add(fanxiangitem); MenuItem chieseitem = new MenuItem("选择汉字(C)"); chieseitem.setShortcut(new MenuShortcut(KeyEvent.VK_C,false); choicemenu.add(chieseitem); editmenu.add(choicemenu); /编辑菜单项的时间/日期项 MenuItem dateitem = new MenuItem("时间/日期(D)"); dateitem.setShortcut(new MenuShortcut(KeyEvent.VK_5,false); editmenu.add(dateitem); /添加监听器来实现编辑菜单上的各个菜单项的功能 /撤销菜单项的功能实现 undoitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) ); /剪切菜单项的功能实现 cutitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) String text = content.getSelectedText();StringSelection selection = new StringSelection(text);clipboard.setContents(selection, null);if(text.length() = 0)return;elsecontent.replaceRange("", content.getSelectionStart(),content.getSelectionEnd(); ); /复制菜单项的功能实现 copyitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) String text = content.getSelectedText();StringSelection selection = new StringSelection(text);clipboard.setContents(selection, null); ); /粘贴菜单项的功能实现 pasteitem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) Transferable contents = clipboard.getContents(this);String str =null;try str = (String) contents.getTransferData(DataFlavor.stringFlavor); catch (UnsupportedFlavorException e1) e1.printStackTrace(); catch (IOException e1) e1.printStackTrace();if (str = null)return;try content.replaceRange(str,content.getSelectionStart(),content.getSelectionEnd(); catch (Exception e1) e1.printStackTrace(); ); /删除菜单项的功能实现 deleteitem.addActionListener(new ActionListener()public void actionPerformed(A

    注意事项

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

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




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

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

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

    收起
    展开