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

  • 相关阅读:
    动态多条件查询分页以及排序(一)MVC与Entity Framework版url分页版
    关于MVC3种IOC自写方法GetItems("Model名字")得到的Model为空的解决方法
    css中!important 的使用
    MVc4阅读后总结
    jquery方法off()
    关于backgroundpostion 火狐和其他浏览器的不同
    Random.Next
    sort(function(a,b){return ab})是什么
    js 简单的自制分组(类似于分页) 结合mvc3
    Discus 论坛 使用方法
  • 原文地址:https://www.cnblogs.com/huasili/p/4120196.html
Copyright © 2011-2022 走看看