天天看點

java記事本源代碼下載下傳_java swing開發實作的記事本源代碼執行個體下載下傳

package myMenu;

import java.awt.FileDialog;

import java.awt.Frame;

import java.awt.Menu;

import java.awt.MenuBar;

import java.awt.MenuItem;

import java.awt.TextArea;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

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.FileReader;

import java.io.FileWriter;

import java.io.IOException;

public class MyMenu {

private Frame f;

private MenuBar mb;

private Menu m;

private TextArea ta;

private MenuItem openItem,saveItem,closeItem;

private FileDialog openDia,saveDia;

private File file;

MyMenu()

{

init();

}

public void init()

{

f=new Frame("my window");

f.setBounds(300, 100, 650, 600);

f.setVisible(true);

mb=new MenuBar();

ta=new TextArea();

m=new Menu("檔案");

openItem=new MenuItem("打開");

saveItem=new MenuItem("儲存");

closeItem=new MenuItem("退出");

m.add(openItem);

m.add(saveItem);

m.add(closeItem);

mb.add(m);

myEven();

openDia=new FileDialog(f,"我要打開",FileDialog.LOAD);

saveDia=new FileDialog(f,"我要儲存",FileDialog.SAVE);

f.setMenuBar(mb);

f.add(ta);

}

private void myEven()

{

openItem.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

openDia.setVisible(true);

String dirPath=openDia.getDirectory();

String fileName=openDia.getFile();

if(dirPath==null ||fileName==null)

return ;

ta.setText("");

file=new File(dirPath,fileName);

try {

BufferedReader bufr=new BufferedReader(new FileReader(file));

String line=null;

while((line=bufr.readLine())!=null)

{

ta.append(line+"\r\n");

}

bufr.close();

} catch (Exception e1) {

throw new RuntimeException("讀取失敗");

}

}

});

saveItem.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(file==null)

{

saveDia.setVisible(true);

String dirPath=saveDia.getDirectory();

String fileName=saveDia.getFile();

if(dirPath==null || fileName==null)

return ;

file=new File(dirPath,fileName);

}

BufferedWriter buf;

try {

buf = new BufferedWriter(new FileWriter(file));

String text=ta.getText();

buf.write(text);

buf.flush();

buf.close();

} catch (IOException e1) {

throw new RuntimeException("讀取失敗");

}

}

});

closeItem.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

f.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

}

public static void main(String[] args) {

new MyMenu();

}

}