`
891633093
  • 浏览: 48880 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java写的记事本

阅读更多
package test;

import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;

import javax.swing.*;

public class EditTest {
public static void main(String[] args){
EditFrame frame = new EditFrame();
frame.setVisible(true);
}
}

class EditFrame extends Frame implements ActionListener{
MenuBar menuBar = new MenuBar();
Menu file = new Menu("File");
Menu edit = new Menu("Edit");
Menu help = new Menu("Help");
TextArea textArea = new TextArea();
String fileName = null;
MenuItem[] menuItem = {
new MenuItem("new"),
new MenuItem("open"),
new MenuItem("save"),
new MenuItem("exit"),
new MenuItem("select all"),
new MenuItem("copy"),
new MenuItem("cut"),
new MenuItem("paste")};
MenuItem helpItem = new MenuItem("help");

private FileDialog openFileDialog =
     new FileDialog(this,"Open File",FileDialog.LOAD);
private FileDialog saveFileDialog =
     new FileDialog(this,"Save File",FileDialog.SAVE);
private Clipboard clipboard;
public EditFrame(){
setTitle("记事本");
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension sizeScreen = kit.getScreenSize();
clipboard = kit.getSystemClipboard();
int width = sizeScreen.width;
int height = sizeScreen.height;
setSize(width/2,height/2);
setLocation(width/4,height/4);
//添加菜单
menuBar.add(file);
menuBar.add(edit);
menuBar.add(help);
for(int i = 0;i < 4;i++){
file.add(menuItem[i]);
edit.add(menuItem[i+4]);
}
help.add(helpItem);
add(textArea);
setMenuBar(menuBar);
//退出事件响应
addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
       e.getWindow().dispose();
       System.exit(0);
       }
      });
for(int i = 0;i<menuItem.length;i++){
menuItem[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e){
Object eventSourse = e.getSource();
if(eventSourse == menuItem[0]){
textArea.setText("");
}
else if(eventSourse == menuItem[1]){
openFileDialog.setVisible(true);
fileName = openFileDialog.getDirectory()+openFileDialog.getFile();
   if(fileName != null)
   {
    openFile(fileName);
    }
}
else if(eventSourse == menuItem[2]){
saveFileDialog.setVisible(true);
fileName = saveFileDialog.getDirectory()+saveFileDialog.getFile();
if(fileName!=null){
writeFile(fileName);
}
}
else if(eventSourse == menuItem[3]){
System.exit(0);
}
else if(eventSourse == menuItem[4]){
textArea.selectAll();
}
else if(eventSourse == menuItem[5]){
String text = textArea.getSelectedText();
    StringSelection selection= new StringSelection(text);//copy
    clipboard.setContents(selection,null);
}
else if(eventSourse == menuItem[6]){
String text = textArea.getSelectedText();
StringSelection selection = new StringSelection(text);
clipboard.setContents(selection,null);  //cut
textArea.replaceText("",textArea.getSelectionStart(),
textArea.getSelectionEnd());
}
else if(eventSourse == menuItem[7]){
Transferable contents = clipboard.getContents(this);
    if(contents==null)
    return;
    String text;
    text="";
    try{
       text = (String)contents.getTransferData(DataFlavor.stringFlavor);
      
       }catch(Exception ex){}
    textArea.replaceText(text,
    textArea.getSelectionStart(),textArea.getSelectionEnd());
}
}
public void openFile(String fileName){
//File f = new File(fileName);
try{
   File file = new File(fileName);
   FileReader readIn = new FileReader(file);
   int size = (int)file.length();//文件的内容长度,为long型
   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(Exception e)
   {
    System.out.println("Error opening file!");
    }
}

public void writeFile(String fileName){
try{
File f = new File(fileName);
FileWriter write = new FileWriter(f);
write.write(textArea.getText());
write.close();
}catch(Exception e){
System.out.println("Erroe saving file!");
}
}


}
1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics