黑马程序员——java编程GUI基础总结

----------------------<a href="http://edu.csdn.net/heima"target="blank">android培训</a>、<a href="http://edu.csdn.net/heima"target="blank">java培训</a>、期待与您交流! ----------------------


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

public class MyMenuTest
{
  private Frame f;
  private MenuBar bar;
  private TextArea ta;
  private Menu fileMenu;
  private MenuItem openItem,saveItem,closeItem;
  
  private FileDialog openDia,saveDia;
  
  private File file;
  MyMenuTest()
  {
   init();
   
  }
  public void init()
  {
    f = new Frame("my window");
    f.setBounds(300,100,650,600);
    //f.setLayout(new FlowLayout());//边界布局
    
    
    bar = new MenuBar();
    
    ta = new TextArea();
    
    fileMenu = new Menu("文件");
    
    openItem = new MenuItem("文件");
    saveItem = new MenuItem("保存");
        closeItem = new MenuItem("退出");
        
        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.add(closeItem);
        bar.add(fileMenu);
        
        f.setMenuBar(bar);
        openDia = new FileDialog(f,"我要打开",FileDialog.LOAD);
        saveDia = new FileDialog(f,"我要保存",FileDialog.SAVE);
        
        f.add(ta);
        myEvent();
        
        f.setVisible(true);
        
        
   
  }
  private void myEvent()
  {
   saveItem.addActionListener(new ActionListener()
   {
    public void actionPerformed(ActionEvent e)
    {
     if(file ==null)
     {
     saveDia.setVisible(true);
     
     String dirPath =saveDia.getDirectory();
     String fileName = saveDia.getFile();
     if(dirPath==null || fileName== null)
      return;
     
      file = new File(dirPath,fileName);
     }
     try
     {
      BufferedWriter bufw = new BufferedWriter(new FileWriter(file));
      
      String text = ta.getText();
      
      bufw.write(text);
      //bufw.flush();
      bufw.close();
      
      
     }
      catch(IOException ex)
      {
       throw new RuntimeException();
      }
    
     
    }
    
   });
   openItem.addActionListener(new ActionListener()
   {
     public void actionPerformed(ActionEvent e)
     {
        openDia.setVisible(true);
        String dirPath = openDia.getDirectory();//路径
        String fileName = openDia.getFile();//文件名
        System.out.println(dirPath+"......"+fileName);
        if (dirPath == null || fileName==null)
        return;
       
        ta.setText("");//清空
         file = new File(dirPath,fileName);//封装文件
       
        try
        {
         
         BufferedReader bufr = new BufferedReader(new FileReader(file));
         String line =null ;
         
         while((line=bufr.readLine())!=null)
         {
          ta.append(line+"\r\n");
         }
         bufr.close();
         
         
        }
      catch(IOException ex)
      {
       throw new RuntimeException("读取失败");
      }
      
      
    }
   });
   closeItem.addActionListener(new ActionListener()
   {
    //closeItem.addPerformed(ActionEvent e)
   
     public void actionPerformed(ActionEvent e)
     {
      System.exit(0);
     }
    
    
   });
   f.addWindowListener(new WindowAdapter()
   {
    public void windowClosing(WindowEvent e)
    {
     System.exit(0);
    }
   });
   
  }
  
  
  public static void main(String[] args)
  {
   new MyMenuTest();
   
  }
 
}

----------------------<a href="http://edu.csdn.net/heima"target="blank">android培训</a>、<a href="http://edu.csdn.net/heima"target="blank">java培训</a>、期待与您交流! ----------------------



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值