窗体练习


package it.demo;



import java.awt.*;
import java.awt.event.*;
import java.io.*;


class Demo{
private Frame frame;
private MenuBar menuBar;
private Menu menu;
private MenuItem menuItemClose,menuItemOpen,menuItemSave;
private FileDialog fileDialogOpen,fileDialogSave;
private TextArea textArea;
private File file=null;
Demo(){
init();
}
public void init(){
frame=new Frame();
frame.setBounds(400, 200, 400, 300);
menuBar=new MenuBar();
menu=new Menu("文件");
menuItemClose=new MenuItem("关闭");
menuItemOpen=new MenuItem("打开");
menuItemSave=new MenuItem("保存");
fileDialogOpen=new FileDialog(frame,"Open Dialog",FileDialog.LOAD);
fileDialogSave=new FileDialog(frame,"Save Dialog",FileDialog.SAVE);
textArea=new TextArea();

frame.setMenuBar(menuBar);
frame.add(textArea,BorderLayout.NORTH);
menuBar.add(menu);
menu.add(menuItemClose);
menu.add(menuItemOpen);
menu.add(menuItemSave);
myEvent();
frame.setVisible(true);
}
public void myEvent(){
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
menuItemClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
menuItemOpen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
fileDialogOpen.setVisible(true);
String filePath=fileDialogOpen.getDirectory();
String fileName=fileDialogOpen.getFile();
if(filePath==null||fileName==null){
return;
}
//System.out.println(filePath+"...."+fileName);
textArea.setText("");
file=new File(filePath,fileName);
BufferedReader bufr=null;
try{
bufr=new BufferedReader(new FileReader(file));
String line=null;
while((line=bufr.readLine())!=null){
textArea.append(line+"\n\r");
}
}catch(IOException ex){
throw new RuntimeException("读取失败");
}finally{
try{
if(bufr!=null)
bufr.close();
}catch(IOException exc){
throw new RuntimeException("关闭失败");
}
}
}
});
menuItemSave.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(file==null){
fileDialogSave.setVisible(true);
String filePath=fileDialogSave.getDirectory();
String fileName=fileDialogSave.getFile();
if(filePath==null||fileName==null){
return;
}
//System.out.println(filePath+"...."+fileName);
file=new File(filePath,fileName);
}
BufferedWriter bufw=null;
try{
bufw=new BufferedWriter(new FileWriter(file));
String str=textArea.getText();
bufw.write(str);
bufw.flush();
}catch(IOException ex){
throw new RuntimeException("写入失败");
}finally{
try{
if(bufw!=null);
bufw.close();
}catch(IOException exc){
throw new RuntimeException("关闭失败");
}
}
}
});
}
public  static  void main(String[] args){
new Demo();
}

}

注意:编译后会生成Demo.class、Demo$1.class、Demo$2.class、Demo$3.class、Demo$4.class5个类文件,$后面带数字是匿名内部类产生的,$后面如果是字母则是内部类产生的。Eclipse的window->show view->navigator,可显示出bin文件。另外java文件内容不做任何修改,过了几分钟,再次执行build project,不会重新生成Test.class文件。
即便把前面已经生成的class文件删除,然后重新执行build project,照样不会生成class文件。
如果把java文件稍作修改,然后再改回来,执行build project就可以生成class文件了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值