import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Notepad /*implements ActionListener , MouseListener , MouseMotionListener , WindowListener , ItemListener , KeyListener, TextListener */
{
//成员变量
private Frame mainFrame;//主框架
private MenuBar mb ; //菜单条
private Menu mFile , mEdit , mFormat , mHelp ; //菜单:文件,编辑,格式,帮助
private MenuItem miNew , miOpen , miSave , miSaveAs , miExit ;//文件菜单项:新建,打开,保存,另存为,退出
private MenuItem miCut , miCopy , miPaste , miDelete ;//编辑菜单项:剪切,复制,粘贴,删除
private MenuItem miFont , miLowtoCapital, miCapitaltoLow ,miEncrypt , miDisencrypt;//格式菜单项:字体
private MenuItem miAboutNotepad;//帮助菜单项:关于记事本
private TextArea ta;//文本区
private String tempString;//临时字符串,用于存储需要复制粘贴的字符串
private boolean textValueChanged = false;
private int id_font ;//字体
String fileName = "";//上次保存后的文件名和地址
//构造函数
public Notepad(){
//框架
mainFrame = new Frame ("Notepad v0.99 by Launching");
mb = new MenuBar ();
ta = new TextArea (30 ,60);
ta.setFont( new Font ( "Times New Rome" , Font.PLAIN , 15));
ta.setBackground(new Color(0 , 250 , 200));
//菜单条
mFile = new Menu ( "File");
mEdit = new Menu ( "Edit");
mFormat = new Menu ("Format");
mHelp = new Menu ("Help");
//"文件"
miNew = new MenuItem ("New");
miOpen = new MenuItem ("Open");
miSave = new MenuItem ("Save");
miSaveAs = new MenuItem ("Save as");
miExit = new MenuItem ("Exit");
//"编辑"
miCut = new MenuItem ("Cut");
miCopy = new MenuItem ("Copy");
miPaste = new MenuItem ("Paste");
miDelete = new MenuItem ("Delete");
//"格式"
miFont = new MenuItem ("Font");
miLowtoCapital = new MenuItem("Low to Capital");
miCapitaltoLow = new MenuItem("Capital to Low");
miEncrypt = new MenuItem("Encrypt");
miDisencrypt = new MenuItem("Disencrypt");
//"帮助"
miAboutNotepad = new MenuItem ("About Notepad");
//添加文件菜单项
mFile.add(miNew);
mFile.add(miOpen);
mFile.add(miSave);
mFile.add(miSaveAs);
mFile.add(miExit);
//添加编辑菜单项
mEdit.add(miCut);
mEdit.add(miCopy);
mEdit.add(miPaste);
mEdit.add(miDelete);
//添加格式菜单项
mFormat.add(miFont);
mFormat.add(miLowtoCapital);
mFormat.add(miCapitaltoLow);
mFormat.add(miEncrypt);
mFormat.add(miDisencrypt);
//添加帮助菜单项
mHelp.add(miAboutNotepad);
//菜单条添加菜单
mb.add(mFile);
mb.add(mEdit);
mb.add(mFormat);
mb.add(mHelp);
//框架添加菜单条
mainFrame.setMenuBar( mb );
//初始字符串赋为空
tempString = "";
//添加文本区
mainFrame.add(ta, BorderLayout.CENTER);
mainFrame.setSize(800 , 500);
mainFrame.setLocation( 100 ,100);// 起始位置
mainFrame.setResizable(true);//不可更改大小
mainFrame.setVisible(true);
//mainFrame.pack();
//////////////////////////////////////////////////////////////////////////////////
////////////////////////////////增加监视器////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//主框架
mainFrame.addWindowListener(new WindowAdapter (){ //关闭窗口
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//文本区
ta.addKeyListener( new KeyAdapter(){
public void KeyTyped(KeyEvent e){
textValueChanged = true ; //键盘按键按下即导致文本修改
}
});
////////////////"文件"菜单://////////////////////
//新建
miNew.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
ta.replaceRange("", 0 , ta.getText().length()) ;//清空文本区的内容
fileName = "";//文件名清空
}
});
//打开
miOpen.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
FileDialog d=new FileDialog(mainFrame , "open file" , FileDialog.LOAD );//打开文件对话框
d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
});
d.setVisible(true);
File f = new File( d.getDirectory()+d.getFile() ); //建立新文件
fileName = d.getDirectory()+d.getFile();//得到文件名
char ch[] = new char [(int)f.length()];///用此文件的长度建立一个字符数组
try//异常处理
{
//读出数据,并存入字符数组ch中
BufferedReader bw = new BufferedReader( new FileReader(f) );
bw.read(ch);
bw.close();
}
catch( FileNotFoundException fe ){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie){
System.out.println("IO error");
System.exit(0);
}
String s =new String (ch);
ta.setText(s);//设置文本区为所打开文件的内容
}
});
//保存
miSave.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
if( fileName.equals("") ){ //如果文件没有被保存过,即文件名为空
FileDialog d=new FileDialog(mainFrame , "save file" , FileDialog.SAVE );//保存文件对话框
d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
});
d.setVisible(true);
String s = ta.getText();//得到所输入的文本内容
try//异常处理
{
File f = new File( d.getDirectory()+d.getFile());//新建文件
fileName = d.getDirectory()+d.getFile();//得到文件名
BufferedWriter bw = new BufferedWriter( new FileWriter (f));//输入到文件中
bw.write(s , 0 , s.length());
bw.close();
}
catch(FileNotFoundException fe_){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie_)
{
System.out.println(" IO error");
System.exit(0);
}
}
else //如果文件已经保存过
{
String s = ta.getText();//得到所输入的文本内容
try//异常处理
{
File f = new File( fileName );//新建文件
BufferedWriter bw = new BufferedWriter( new FileWriter (f));//输入到文件中
bw.write(s , 0 , s.length());
bw.close();
}
catch(FileNotFoundException fe_){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie_)
{
System.out.println(" IO error");
System.exit(0);
}
}
}
});
//另存为
miSaveAs.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
FileDialog d=new FileDialog(mainFrame , "save file" , FileDialog.SAVE );//保存文件对话框
d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
});
d.setVisible(true);
String s = ta.getText();//得到所输入的文本内容
try//异常处理
{
File f = new File( d.getDirectory()+d.getFile());//新建文件
BufferedWriter bw = new BufferedWriter( new FileWriter (f));//输入到文件中
bw.write(s , 0 , s.length());
bw.close();
}
catch(FileNotFoundException fe_){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie_)
{
System.out.println(" IO error");
System.exit(0);
}
}
});
//退出
miExit.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
import java.awt.*; import java.awt.event.*; import java.io.*; public class Notepad /*implements ActionListener , MouseListener , MouseMotionListener , WindowListener , ItemListener , KeyListener, TextListener */ {
资源推荐
资源详情
资源评论
收起资源包目录
javaa.rar (90个子文件)
javaa
SUSHU.java 577B
donghua
程序1
3.bmp 35KB
Animation.class 912B
1.bmp 35KB
Animator.class 2KB
4.bmp 35KB
8.bmp 35KB
Animation.java 1KB
2.bmp 35KB
5.bmp 35KB
7.bmp 35KB
6.bmp 35KB
动画
8.jpg 23KB
3.bmp 35KB
5.gif 35KB
2.jpg 22KB
1.jpg 22KB
2.gif 35KB
6.jpg 22KB
1.gif 35KB
8.gif 35KB
3.gif 35KB
6.gif 35KB
3.jpg 23KB
1.bmp 35KB
5.jpg 23KB
4.bmp 35KB
8.bmp 35KB
TextIO.java 7KB
index.html 530B
7.gif 35KB
Dongwu.java 2KB
4.jpg 24KB
2.bmp 35KB
4.gif 35KB
5.bmp 35KB
maben.au 2.09MB
Thumbs.db 144KB
7.jpg 22KB
7.bmp 35KB
Dongwu.class 2KB
6.bmp 35KB
Notepad.java 15KB
textEditor4
TextEditor$8.class 501B
TextEditor$2.class 501B
TextEditor$13.class 589B
image
5.png 3KB
1.png 3KB
Thumbs.db 28KB
2.png 3KB
4.png 3KB
bug
5.png 3KB
1.png 3KB
Thumbs.db 22KB
2.png 3KB
4.png 3KB
3.png 3KB
3.png 3KB
TextEditor$6.class 854B
FlyChe.java 4KB
TextIO.java 6KB
TextIO.class 6KB
calendar.class 2KB
texteditor
Finder.class 1KB
TextEditor$14.class 590B
MenuDemo.class 5KB
Finder.java 1KB
FlyChe.class 2KB
TextEditor$11.class 589B
MenuDemo.java 4KB
TextEditor.class 6KB
TextEditor$4.class 616B
LinearSearch.java 1KB
TextEditor$5.class 521B
TextEditor$10.class 604B
TextEditor.java 8KB
TextEditor$3.class 501B
TextEditor$1.class 491B
TextEditor$9.class 501B
TextEditor$12.class 590B
TextEditor$7.class 854B
FlyChe.html 61B
calendar.java 2KB
textEditor
FlyChe.java 3KB
MenuDemo.java 4KB
LinearSearch.java 1KB
TextEditor.java 7KB
复件 TextEditor.java 7KB
FlyChe.html 61B
calendar.java 2KB
共 90 条
- 1
资源评论
- 千泷先生2012-10-17资料很好,学到很多东西
klnm123
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功