A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© play1369 中级黑马   /  2015-1-29 09:26  /  775 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

由于入学Awt考得较少,所以为加强联系不宜忘记,试写了个简单的保存修改文件的图形程序练习

package texttest.tool;
import java.io.*;
import java.awt.*;
import java.awt.event.*;


public class SwtWindowTest
{
        public static void main(String[] args)
        {
                new SwtWindow();
        }
}


class SwtWindow
{
        private Frame f;
        private MenuBar mb;
        private Menu mu;
        private MenuItem openItem;
        private MenuItem saveItem;
        private MenuItem closeItem;
        private TextArea ta;
        private File file;
        private FileDialog openfd;
        private FileDialog savefd;

        SwtWindow()
        {
                init();
        }

        private void init()
        {
                f = new Frame("My TextTool");
                //f.setLocation(400,300);
                //f.setSize(500,400);
                f.setBounds(400,300,500,400);
                mb = new MenuBar();
                mu  = new Menu("文件");
                openItem  = new MenuItem("打开");
                saveItem  = new MenuItem("保存");
                closeItem  = new MenuItem("关闭");
                ta = new TextArea();
                mu.add(openItem);
                mu.add(saveItem);
                mu.add(closeItem);
                mb.add(mu);
                f.setMenuBar(mb);
                f.add(ta);
                myEvent();
                f.setVisible(true);
        }
       
        private void myEvent()
        {
                f.addWindowListener(new WindowAdapter()
                {
                        public void windowClosing(WindowEvent e)
                        {
                                System.exit(0);
                        }
                });

                closeItem.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent e)
                        {
                                System.exit(0);
                        }
                });

                openItem.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent e)
                        {
                                openfd = new FileDialog(f,"打开文件",FileDialog.LOAD);
                                openfd.setVisible(true);
                                String path = openfd.getDirectory();
                                String name = openfd.getFile();
                                if ((path==null) || (name==null))
                                {
                                        return;
                                }
                                ta.setText("");
                                file = new File(path,name);
                                try
                                {
                                        BufferedReader bw = new BufferedReader(new FileReader(file));
                                        String len = null;
                                        while ((len=bw.readLine())!=null)
                                        {
                                                ta.append(len+"\r\n");
                                        }
                                        bw.close();
                                }
                                catch (IOException ex)
                                {
                                        throw new RuntimeException("打开文件错误!");
                                }
                        }
                });

                saveItem.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent e)
                        {
                                if (!file.exists())
                                {
                                        savefd = new FileDialog(f,"保存文件",FileDialog.SAVE);
                                        savefd.setVisible(true);
                                        String path = savefd.getDirectory();
                                        String name = savefd.getFile();
                                        if ((path==null) || (name==null))
                                                {
                                                        return;
                                                }
                                        file = new File(path,name);
                                }
                                try
                                {
                                        BufferedWriter bw = new BufferedWriter(new FileWriter(file));
                                        bw.write(ta.getText());
                                        bw.flush();
                                        bw.close();
                                }
                                catch (IOException ex)
                                {
                                        throw new RuntimeException("保存文件错误!");
                                }

                        }
                });
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马