您的位置:首页 > 职场人生

黑马程序员——用AWT写的假记事本,实现退出,保存,打开等功能

2012-09-09 13:27 567 查看
                                          ----------------------    android培训    java培训  
期待与您交流!    ----------------------   
             

package gui.awt;

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 MyNotePad {
private Frame frame;
private MenuBar menubar;//菜单条
private Menu menu0,menu1,menu2,menu3;//主菜单menu
private MenuItem mitem0_1,mitem0_2,mitem0_3,mitem0_4,mitem0_5;
private Menu menu0_1_1;//子菜单menu
private MenuItem mitem1_1,mitem1_2,mitem1_3,mitem1_4;
private MenuItem mitem2_1,mitem2_2;
private MenuItem mitem3_1;
private TextArea ta;
private FileDialog open_dial;//打开对话框,这里定义了两个FileDialog对象,其实定义一个,修改其中的参数即可
private FileDialog save_dial;//保存对话框
private File file;

public MyNotePad(){
init();
}
public void init(){
frame=new Frame("这是我的记事本工具");
menubar=new MenuBar();
menu0=new Menu("文件");
menu1=new Menu("编辑");
menu2=new Menu("格式");
menu3=new Menu("查看");

menu0_1_1=new Menu("子菜单");
mitem0_1=new MenuItem("新建");
mitem0_2=new MenuItem("打开");
mitem0_3=new MenuItem("保存");
mitem0_4=new MenuItem("另存为");
mitem0_5=new MenuItem("退出");

menu0_1_1.add(mitem0_1);
menu0_1_1.add(mitem0_2);
menu0_1_1.add(mitem0_3);
menu0_1_1.add(mitem0_4);

menu0.add(menu0_1_1);
menu0.add(mitem0_5);
//-------------------------------------------------------------------
mitem1_1=new MenuItem("撤销");
mitem1_2=new MenuItem("复制");
mitem1_3=new MenuItem("剪切");
mitem1_4=new MenuItem("粘贴");

menu1.add(mitem1_1);
menu1.add(mitem1_2);
menu1.add(mitem1_3);
menu1.add(mitem1_4);

//-------------------------------------------------------------------
mitem2_1=new MenuItem("自动换行");
mitem2_2=new MenuItem("格式");

menu2.add(mitem2_1);
menu2.add(mitem2_2);

//-------------------------------------------------------------------
mitem3_1=new MenuItem("状态栏");

menu3.add(mitem3_1);

//-------------------------------------------------------------------
menubar.add(menu0);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);

open_dial=new FileDialog(frame,"打开文件-jack",FileDialog.LOAD);//第三个参数是打开对话框模式,不写的话,默认的就是这个
save_dial=new FileDialog(frame,"保存文件-jack",FileDialog.SAVE);

frame.setMenuBar(menubar);
ta=new TextArea();
frame.add(ta);
frame.setBounds(100,100,500,600);
event();
frame.setVisible(true);
}
public void event(){
//保存对话框事件
mitem0_3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
save_dial.setVisible(true);//使打开对话框可见
if(file==null){
String dirPath=save_dial.getDirectory();//获取文件路径
String fileName=save_dial.getFile();//获取文件名
file=new File(dirPath,fileName);
}else{
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter(file));
bw.write(ta.getText());//把数据写入文件中
bw.flush();
} catch (IOException e1) {
e1.printStackTrace();
}finally{
try {
if(null!=bw){
bw.close();
}
} catch (Exception e2) {
}
}
//				System.out.println(path+",,,,,,,,,,,,"+ta.getText());
}
}
});

//打开对话框事件
mitem0_2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
open_dial.setVisible(true);//使打开对话框可见
String dirPath=open_dial.getDirectory();//获取文件路径
String fileName=open_dial.getFile();//获取文件名
file=new File(dirPath,fileName);
if(file.exists()&&file.isFile()){
ta.setText("");//清空
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
String str="";
while(null!=(str=br.readLine())){
ta.append(str+"\r\n");
}
} catch (IOException e1) {
e1.printStackTrace();
}finally{
try {
if(null!=br){
br.close();
}
} catch (Exception e2) {
}
}
}else{
return;
}
System.out.println(dirPath+",,,,,"+fileName);
}
});

//摁扭的关闭事件
mitem0_5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
//窗体的关闭事件
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}

public static void main(String[] args) {
new MyNotePad();
}
}

                                          ----------------------    android培训    java培训  
期待与您交流!    ----------------------   
                         详细请查看      http://edu.csdn.net/heima
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  menu string class 工具
相关文章推荐