黑马程序员技术交流社区

标题: awt这块的问题,为何菜单保存点击却保存不进去? [打印本页]

作者: 我叫MT    时间: 2014-2-4 22:53
标题: awt这块的问题,为何菜单保存点击却保存不进去?
本帖最后由 我叫MT 于 2014-2-4 23:05 编辑
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.io.*;
  4. class AwtDemo3
  5. {
  6.         private Frame f;
  7.         private TextArea ta;
  8.         private FileDialog openDia,saveDia;
  9.         private MenuBar mb;
  10.         private Menu m,m2,m3,m4;
  11.         private MenuItem mi,mi2,mi3,mi4;
  12.         AwtDemo3()
  13.         {
  14.                 init();
  15.         }
  16.         public void init()
  17.         {
  18.                 f = new Frame("AWT");
  19.                 f.setBounds(200,0,900,600);
  20.                 mb =new MenuBar();
  21.                 m =new Menu("文件");
  22.                 m2 =new Menu("选项");
  23.                 m3 =new Menu("设置");
  24.                 m4 =new Menu("工具");
  25.                 mi =new MenuItem("退出(exit)");
  26.                 mi2 =new MenuItem("没工具啦");
  27.                 mi3 =new MenuItem("打开(open)");
  28.                 mi4 =new MenuItem("保存(save)");
  29.                 mb.add(m);
  30.                 mb.add(m2);
  31.                 mb.add(m3);
  32.                 m4.add(mi2);
  33.                 m.add(m4);
  34.                 m.add(mi3);
  35.                 m.add(mi4);
  36.                 m.add(mi);
  37.                 f.setMenuBar(mb);
  38.                 openDia =new FileDialog(f,"打开",FileDialog.LOAD);
  39.                 saveDia =new FileDialog(f,"保存",FileDialog.SAVE);
  40.                 ta = new TextArea(25,100);
  41.                 f.add(ta);
  42.                 myEvent();
  43.                 f.setVisible(true);
  44.         }
  45.         public void myEvent()
  46.         {
  47.                 mi4.addActionListener(new ActionListener()
  48.                 {
  49.                         public void actionPerformed(ActionEvent e)
  50.                         {
  51.                                 saveDia.setVisible(true);
  52.                                 String dirPath = saveDia.getDirectory();
  53.                                 String fileName = saveDia.getFile();
  54.                                 if(dirPath==null || fileName==null)
  55.                                         return;
  56.                                 ta.setText("");
  57.                                 File file = new File(dirPath,fileName);
  58.                                 try
  59.                                 {
  60.                                         BufferedWriter bw = new BufferedWriter(new FileWriter(file));
  61.                                         bw.write(ta.getText());
  62.                                         bw.flush();
  63.                                         bw.close();
  64.                                 }
  65.                                 catch (IOException b)
  66.                                 {
  67.                                         throw new RuntimeException("写入失败");
  68.                                 }
  69.                         }
  70.                 });
  71.                 mi3.addActionListener(new ActionListener()
  72.                 {
  73.                         public void actionPerformed(ActionEvent e)
  74.                         {
  75.                                 openDia.setVisible(true);
  76.                                 String dirPath = openDia.getDirectory();
  77.                                 String fileName = openDia.getFile();
  78.                                 //System.out.println(dirPath+"---"+fileName);
  79.                                 if(dirPath==null || fileName==null)
  80.                                         return;
  81.                                 ta.setText("");
  82.                                 File file = new File(dirPath,fileName);
  83.                                 try
  84.                                 {
  85.                                         BufferedReader br = new BufferedReader(new FileReader(file));
  86.                                         String line = null;
  87.                                         while((line=br.readLine())!=null)
  88.                                         {
  89.                                                 ta.append(line+"\r\n");
  90.                                         }
  91.                                         br.close();
  92.                                 }
  93.                                 catch (IOException b)
  94.                                 {
  95.                                         throw new RuntimeException("读取失败");
  96.                                 }
  97.                                 
  98.                         }
  99.                 });
  100.                 mi.addActionListener(new ActionListener()
  101.                 {
  102.                         public void actionPerformed(ActionEvent e)
  103.                         {
  104.                                 System.exit(0);
  105.                         }
  106.                 });
  107.                 f.addWindowListener(new WindowAdapter()
  108.                 {
  109.                         public void windowClosing(WindowEvent e)
  110.                         {
  111.                                 System.exit(0);
  112.                         }
  113.                         public void windowOpened(WindowEvent e)
  114.                         {
  115.                                 System.out.println("启动程序");
  116.                         }
  117.                 });
  118.         }
  119.         public static void main(String[] args)
  120.         {
  121.                 new AwtDemo3();
  122.         }
  123. }
复制代码
问题见标题,问题在47行到70行之间,哪里有问题?

作者: 〃FelayMan。    时间: 2014-2-4 23:26
为什么还要学awt这部分,我看了看就不学这块,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2