zoukankan      html  css  js  c++  java
  • 简单记事本程序java源码项目

    代码如下

    import java.awt.*;
    import java.io.*;
    import java.awt.datatransfer.*;
    import java.awt.event.*;
    
    
    public class Main extends Frame implements ActionListener {
            private static final long serialVersionUID = 1L;
    TextArea textArea = new TextArea();
       MenuBar menuBar = new MenuBar();
       Menu fileMenu = new Menu("File");
       MenuItem newItem = new MenuItem("New");
       MenuItem openItem = new MenuItem("Open");
       MenuItem saveItem = new MenuItem("Save");
       MenuItem saveAsItem = new MenuItem("Save As");
       MenuItem exitItem = new MenuItem("Exit");
       Menu editMenu = new Menu("Edit");
       MenuItem selectItem = new MenuItem("Select All");
       MenuItem copyItem = new MenuItem("Copy");
       MenuItem cutItem = new MenuItem("Cut");
       MenuItem pasteItem = new MenuItem("Paste");
       String fileName = null;
       Toolkit toolKit=Toolkit.getDefaultToolkit();
       Clipboard clipBoard=toolKit.getSystemClipboard();
       
        private FileDialog openFileDialog = new FileDialog(this,"Open File",FileDialog.LOAD);
        private FileDialog saveAsFileDialog = new FileDialog(this,"Save File As",FileDialog.SAVE);
    
    
      public Main(){
        setTitle("记事本程序-by Jackbase");
        setFont(new Font("Times New Roman",Font.PLAIN,12));
        setBackground(Color.white);
        setSize(400,300);
        fileMenu.add(newItem);
        fileMenu.add(openItem);
        fileMenu.addSeparator();
        fileMenu.add(saveItem);
        fileMenu.add(saveAsItem);
        fileMenu.addSeparator();
        fileMenu.add(exitItem);
        editMenu.add(selectItem);
        editMenu.addSeparator();
        editMenu.add(copyItem);
        editMenu.add(cutItem);
        editMenu.add(pasteItem);
        menuBar.add(fileMenu);
        menuBar.add(editMenu);
        setMenuBar(menuBar);
        add(textArea);
        addWindowListener(new WindowAdapter(){
                          public void windowClosing(WindowEvent e){
                              System.exit(0);
                            }
                          });
        newItem.addActionListener(this);
        openItem.addActionListener(this);
        saveItem.addActionListener(this);
        saveAsItem.addActionListener(this);
        exitItem.addActionListener(this);
        selectItem.addActionListener(this);
        copyItem.addActionListener(this);
        cutItem.addActionListener(this);
        pasteItem.addActionListener(this);
      }
    
      public void actionPerformed(ActionEvent e) {  //监听事件
        Object eventSource = e.getSource();
        if(eventSource == newItem){
          textArea.setText("");
        }else if(eventSource == openItem){
          openFileDialog.show();
          fileName = openFileDialog.getDirectory()+openFileDialog.getFile();
          if(fileName != null)
            readFile(fileName);
        }else if (eventSource == saveItem){
          if(fileName != null)
            writeFile(fileName);
        }else if(eventSource == saveAsItem){
          saveAsFileDialog.show();
          fileName = saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
          if (fileName!= null)
            writeFile(fileName);
        }else if(eventSource == selectItem){
           textArea.selectAll();
        }else if(eventSource == copyItem){
           String text=textArea.getSelectedText();
           StringSelection selection=new StringSelection(text);
           clipBoard.setContents(selection,null);
        }else if(eventSource == cutItem){
           String text=textArea.getSelectedText();
           StringSelection selection=new StringSelection(text);
           clipBoard.setContents(selection,null);
           textArea.replaceRange("",textArea.getSelectionStart(),textArea.getSelectionEnd());
        }else if(eventSource == pasteItem){
           Transferable contents=clipBoard.getContents(this);
           if(contents==null) return;
           String text;
           text="";
           try{
                text=(String)contents.getTransferData(DataFlavor.stringFlavor);
            }catch(Exception exception){
            }
           textArea.replaceRange(text,textArea.getSelectionStart(),textArea.getSelectionEnd());
        }else if(eventSource == exitItem){
          System.exit(0);
        }
      }
    
    
      public void readFile(String fileName){ //读取文件处理
        try{
          File file = new File(fileName);
          FileReader readIn = new FileReader(file);
          int size = (int)file.length();
          int charsRead = 0;
          char[] content = new char[size];
          while(readIn.ready())
            charsRead += readIn.read(content, charsRead, size - charsRead);
          readIn.close();
          textArea.setText(new String(content, 0, charsRead));
        }
        catch(IOException e){
          System.out.println("Error opening file");
        }
      }
    
      public void writeFile(String fileName){  //写入文件处理
        try{
          File file = new File (fileName);
          FileWriter writeOut = new FileWriter(file);
          writeOut.write(textArea.getText());
          writeOut.close();
        }
        catch(IOException e){
          System.out.println("Error writing file");
        }
      }
    
        @SuppressWarnings("deprecation")
            public static void main(String[] args){
          Frame frame = new Main(); //创建对象
          frame.show();   //是对象显示
       }
    }
    

      运行结果
    <ignore_js_op>

    详细说明:http://java.662p.com/thread-2217-1-2.html

  • 相关阅读:
    【webrtc】PTCPeerConnection(28)
    windows传文件到linux服务器--- secureCRT PK xftp
    Navicat premium查看数据库表中文注释的两种方式
    Jmeter 5.1实现图片上传接口测试
    查看服务器内存、CPU、网络等占用情况的命令--汇总
    AWS服务器上安全组端口设置和访问的问题
    linux服务器时间乱码问题解决
    连接linux的几款工具 简介
    服务器上build.xml文件乱码解决(亲测有效)
    jmeter通过ant执行时报错 jmeter.log not found
  • 原文地址:https://www.cnblogs.com/huasili/p/4120196.html
Copyright © 2011-2022 走看看