什么功能都没有 记事本程序
来源:互联网 发布:三菱plc编程软件仿真 编辑:程序博客网 时间:2024/04/30 11:09
package NotePad;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class NotePad
{
//components
private static Frame frame = new Frame("NotePad v2.0");
private static MenuBar mb = new MenuBar();
private static Menu fileM = new Menu("File");
private static Menu newM = new Menu("New");
private static MenuItem txtMI = new MenuItem("Txt");
private static MenuItem openMI = new MenuItem("Open...");
private static MenuItem closeMI = new MenuItem("Close");
private static MenuItem saveMI = new MenuItem("Save");
private static MenuItem saveAsMI = new MenuItem("Save as...");
private static MenuItem quitMI = new MenuItem("Quit");
private static Menu toolsM = new Menu("Tools");
private static MenuItem showDirMI = new MenuItem("ShowDir");
private static TextArea showTA = new TextArea("",0,0,TextArea.SCROLLBARS_VERTICAL_ONLY);
private static Label statusL = new Label("Welcome to NotePad v2.0");
private static File file = null;
private static Dialog dia;
//main function
public static void main(String[] args)
{
init();
frameEvent();
menuBarEvent();
textAreaEvent();
}
//UI
private static void init()
{
frame.setBounds(400,200,480,500);
frame.setLayout(new BorderLayout());
frame.setMenuBar(mb);
mb.add(fileM);
fileM.add(newM);
newM.add(txtMI);
fileM.add(openMI);
fileM.add(saveMI);
fileM.add(saveAsMI);
fileM.add(closeMI);
fileM.add(quitMI);
mb.add(toolsM);
toolsM.add(showDirMI);
frame.add(showTA);
frame.add(statusL,BorderLayout.SOUTH);
frame.setVisible(true);
}
//frameEvent
private static void frameEvent()
{
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent wef)
{
System.exit(0);
}
});
}
//menuBarEvent
private static void menuBarEvent()
{
//what is this?
/*
openMI.addMouseListener(new MouseAdapter()
{
public void mouseEntered(MouseEvent meo)
{
statusL.setText("Open txt file(s).");
}
public void mouseExited(MouseEvent mexo)
{
statusL.setText("Welcome to NotePad v2.0");
}
});
*/
txtMI.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent aen)
{
file = null;
showTA.setText("");
}
});
openMI.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent aeo)
{
if (file != null || showTA.getText() != "")
{
statusL.setText("Warning:File is not saved yet,all data will be lost.");
}
FileDialog openFD = new FileDialog(frame,"Open file...",FileDialog.LOAD);
openFD.setVisible(true);
try
{
if (openFD.getDirectory() == null || openFD.getFile() == null)
{
statusL.setText("You chose nothing or it is not a TxtFile.");
return;
}
file = new File(openFD.getDirectory(),openFD.getFile());
BufferedReader br = new BufferedReader(new FileReader(file));
String buffer = null;
while ((buffer = br.readLine()) != null)
{
showTA.append(buffer+"\t\n");
}
br.close();
}
catch (IOException oioe)
{
throw new RuntimeException("Open file failed.");
}
}
});
saveMI.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent aes)
{
if (file != null)
{
statusL.setText("Saving file.");
saveFile(file);
}
else
{
FileDialog saveFD = new FileDialog(frame,"Save file...",FileDialog.SAVE);
saveFD.setVisible(true);
if (saveFD.getDirectory() == null || saveFD.getFile() == null)
{
statusL.setText("It is not a directory or TxtFile.");
return;
}
file = new File(saveFD.getDirectory(),saveFD.getFile());
saveFile(file);
}
}
});
saveAsMI.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent saae)
{
statusL.setText("Saving file as.");
FileDialog saveAsFD = new FileDialog(frame,"Save file as...",FileDialog.SAVE);
saveAsFD.setVisible(true);
if (saveAsFD.getDirectory() == null || saveAsFD.getFile() == null)
{
statusL.setText("It is not a directory or TxtFile.");
return;
}
file = new File(saveAsFD.getDirectory(),saveAsFD.getFile());
saveFile(file);
}
});
closeMI.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent aec)
{
if (file != null || showTA.getText() != "")
{
statusL.setText("Warning:File is not saved yet,all data will be lost.");
}
file = null;
showTA.setText("");
}
});
quitMI.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent qae)
{
System.exit(0);
}
});
showDirMI.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent aesd)
{
dia = new Dialog(frame,"Warning!",false);
Label l = new Label("Warning:File is not saved yet,all data will be lost,please save your data before continue...");
dia.setLayout(new BorderLayout());
dia.setBounds(360,300,500,88);
dia.add(l,BorderLayout.CENTER);
dia.setVisible(true);
dia.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent wed)
{
dia.setVisible(false);
statusL.setText("Select a directory.");
FileDialog selectDir = new FileDialog(frame,"Make a choice...",FileDialog.LOAD);
selectDir.setVisible(true);
try
{
if (selectDir.getDirectory() == null)
{
statusL.setText("It is not a directory");
return;
}
else
{
file = new File(selectDir.getDirectory());
if (!(file.exists() && file.isDirectory()))
{
statusL.setText("You select a invalid path.");
return;
}
else
{
String[] dirList = file.list();
showTA.setText("");
for (String dir : dirList)
{
showTA.append(dir+"\t\n");
}
}
}
}
catch (Exception ioes)
{
throw new RuntimeException("File read failed.");
}
}
});
}
});
}
//textAreaEvent
private static void textAreaEvent()
{
showTA.addMouseListener(new MouseAdapter()
{
public void mouseEntered(MouseEvent mes)
{
statusL.setText("Document editing...");
}
public void mouseExited(MouseEvent mexs)
{
statusL.setText("Welcome to NotePad v2.0");
}
});
}
//save file
private static void saveFile(File file)
{
try
{
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(showTA.getText());
bw.close();
}
catch (IOException sioe)
{
throw new RuntimeException("Save file failed.");
}
}
}
- 什么功能都没有的记事本程序
- 什么功能都没有 记事本程序
- 什么都没有。。。
- 什么都没有
- 这里什么都没有!
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题 .
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
- android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
- 一个什么都没有的网站
- 什么都没有留下的家伙
- 这里什么都没有,开山一篇
- 原来从来都没有什么终身邮箱
- 09-最近觉得什么都没有意思
- CHM文件为什么打开什么都没有?
- ie 让层透明的滤镜(相当于别的浏览器中才opacity)
- T-SQL高级篇(一)
- PHP解析JSON与XML
- J#
- 基于注解的Spring MVC与JPA如何解决实体的延时加载问题
- 什么功能都没有 记事本程序
- Java-正则表达式
- 跟我学aspectj之一 ----- 简介
- Objective-C的内存管理(二)autorelease的理解
- 用弹出div方式做一个进度条
- 跟我学aspectj之二 ----- 搭建开发环境
- jcaptcha无法连接X11问题解决
- 根据内容,自动调整CListCtrl的列宽
- 从BeejiveIM 的iPhone的Push(推送通知),用户如何完全授权它登录,是否涉及安全问题?