save_as.addActionListener(this);
exit.addActionListener(this);
copy.addActionListener(this);
cut.addActionListener(this);
paste.addActionListener(this);
delete.addActionListener(this);
search.addActionListener(this);
//将菜单和相应的子菜单添加到菜单栏
file.add(open);
file.add(new_file);
file.add(save);
file.add(save_as);
file.addSeparator();
file.add(exit);
edit.add(copy);
edit.add(cut);
edit.add(paste);
edit.add(delete);
edit.add(search);
mb.add(file);
mb.add(edit);
mb.add(help);
//给文本区域添加滚动条
myarea.add(myPopMenu);
JScrollPane scrollpane=new JScrollPane(myarea);
//主窗口
setTitle("记事本");
setSize(600,400);
setLocation(400,300);
setJMenuBar(mb);
//add("Center",myarea);
add(scrollpane);
// add(myPopMenu);
//窗口监听
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt)
{
if(!myarea.getText().equals(textContent))
{
int result=JOptionPane.showConfirmDialog(null,"文件内容已改变,确认保存退出吗?","警告",1);
if(result==JOptionPane.OK_OPTION)
{
save();
System.exit(0);
}
}
else
System.exit(0);
}
});
//鼠标监听
myarea.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e)
{
//鼠标右键
if((mods&InputEvent.BUTTON3_MASK)!=0){
//弹出菜单
myPopMenu.show(e.getComponent(),e.getX(),e.getY());
}
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try
{
if(e.getActionCommand()=="新建")
{
myarea.setText("");
}
else if(e.getActionCommand()=="打开")
{
FileDialog fileDialog=new FileDialog(this,"打开文件",FileDialog.LOAD);
fileDialog.setFile("*.txt");
fileDialog.setVisible(true);
if(fileDialog.getFile()!=null)
{
filename=fileDialog.getDirectory()+fileDialog.getFile();//获得文件名
//读取文件
FileReader file_reader=new FileReader(filename);//此处必须要捕获异常
BufferedReader br=new BufferedReader(file_reader);
String temp="";
while(br.ready())//判断缓冲区是否为空,非空时返回true
{
int c=br.read();
temp+=(char)c;
}
myarea.setText(temp);
br.close();
file_reader.close();
textContent=myarea.getText();
setTitle("记事本-"+filename);
}
}
else if(e.getActionCommand()=="保存")
{
save();
}
else if(e.getActionCommand()=="另存为")
{
FileDialog fileDialog=new FileDialog(this,"另存为",FileDialog.SAVE);
fileDialog.setFile("*.txt");
fileDialog.setVisible(true);
if(fileDialog.getFile()!=null) {
//File temp=new File(file.getAbsolutePath()+".txt");
//file.renameTo(temp);
//写入文件
FileWriter fw=new FileWriter(fileDialog.getDirectory()+fileDialog.getFile());
BufferedWriter bw=new BufferedWriter(fw);
PrintWriter pw=new PrintWriter(bw);
pw.print(myarea.getText());
textContent=myarea.getText();
pw.close();
bw.clos