62,621
社区成员
发帖
与我相关
我的任务
分享package AWT组建.文件对话框;
import java.awt.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
public class MainForm extends Frame implements ActionListener{
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new MainForm();
}
MenuItem open=new MenuItem("打开");
MenuItem save=new MenuItem("保存");
MenuItem exit=new MenuItem("退出");
TextArea t=new TextArea();
public MainForm()
{
super("记事本");
this.setBounds(200, 200, 800, 600);
MenuBar menubar=new MenuBar();
Menu menu1=new Menu("文件");
menu1.setShortcut(new MenuShortcut(KeyEvent.VK_F));
Menu menu2=new Menu("编辑");
menu2.setShortcut(new MenuShortcut(KeyEvent.VK_E));
Menu menu3=new Menu("格式");
menu3.setShortcut(new MenuShortcut(KeyEvent.VK_O));
Menu menu4=new Menu("帮助");
menu4.setShortcut(new MenuShortcut(KeyEvent.VK_H));
open.addActionListener(this);
save.addActionListener(this);
exit.addActionListener(this);
menu1.add(open);
menu1.add(save);
menu1.addSeparator();
menu1.add(exit);
exit.setShortcut(new MenuShortcut(KeyEvent.VK_E));
this.add(t,BorderLayout.CENTER);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
menubar.add(menu4);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
this.setMenuBar(menubar);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
FileDialog file;
if(e.getSource()==open)
{
file=new FileDialog(this,"打开文件",FileDialog.LOAD);
file.setVisible(true);
String filename=file.getDirectory()+"\\"+file.getFile();
try {
FileReader fr=new FileReader(filename);
BufferedReader br=new BufferedReader(fr);
String s="";
t.setText("");
while((s=br.readLine())!=null)
{
t.append(s+"\n");
}
br.close();
fr.close();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}else if(e.getSource()==save)
{
file=new FileDialog(this,"保存文件",FileDialog.SAVE);
file.setVisible(true);
String filename=file.getDirectory()+"\\"+file.getFile();
try {
FileWriter fw=new FileWriter(filename);
System.out.println(filename);
fw.write(t.getText().toCharArray());
fw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}else if(e.getSource()==exit)
{
int result=JOptionPane.showConfirmDialog(this, "您确认要退出吗", "提示", JOptionPane.YES_NO_OPTION);
if(result==JOptionPane.YES_OPTION)
{
System.exit(0);
}
}
}
}