窗体练习

来源:互联网 发布:淘宝买口服催情药 编辑:程序博客网 时间:2024/06/17 10:29


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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 驾照科目一考试身份证丢了怎么办 换驾驶证名下有车辆脱审怎么办 交警把驾驶证和行车证扣了怎么办 连续两天驾照都是扣12分怎么办? 交警开的电动车罚单丢了怎么办 驾驶证b证体检报告拖期怎么办 在中国把美国护照弄丢了怎么办 拿了驾照两年了不敢上高速怎么办 我要移民过香港大陆的驾驶证怎么办 交警开的扣行驶证的单不见了怎么办 行驶证累计记分满12分后怎么办 行车证丢了被交警查到怎么办 手机摔了一下一半黑屏了怎么办 三星手机的显示屏插头坏了怎么办? 被普通的手机维修店骗了怎么办? 手机外屏裂了内屏进水了怎么办 小米2s手机忘了解锁图案怎么办 红米note5手机屏烂了怎么办 网上买好高铁票身份证没带怎么办 高铁票买好了身份证丢了怎么办 苏州园区社保卡丢了怎么办 大学办的社保卡丢了怎么办 毕业六年了大学社保卡丢了怎么办 医保卡丢了补办后卡里余额怎么办 银行卡丢了记不住卡号怎么办 哈尔滨医保卡挂失后又找到了怎么办 孩子在哈尔滨户口在外地医保怎么办 椒江二桥通行证被扣走了怎么办 住建委查到买房材料不真怎么办 房子租出去被别人又租出去了怎么办 在成都乘出租车房产证掉了怎么办 电信不限量卡限网速了怎么办 only实体店换货没有小票怎么办 运管所包车单不给盖章怎么办 上海留学生落户过了取号时间怎么办 电信固话怎么办才能显示自己公司 日本跟团签证没有资产证明怎么办 摇号手机号换了密码忘了怎么办 小客车摇号的账号密码忘了怎么办 去银行交违章罚款单子丢了怎么办 我的身份证被别人办了信用卡怎么办