//谁能帮我看下这个小程序,为什么不能打开文本,它不加载到TextArea里,帮我改下,顺便帮我加个save上去,让它也可以保存,谢谢啦。
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class open {
    public static void main(String[] args)
    {
        final Frame f=new Frame("http://www.baidu.com");
        f.setSize(600,400);
        f.setLocation(100,100);
        //TextField tf=new TextField(20);
        //f.add(tf,"NORTH");
        final TextArea tf=new TextArea();
        f.add(tf);
        f.addWindowListener(new WindowAdapter()
                {
                    public void windowClosing(WindowEvent e)
                    {
                        System.exit(0);
                    }
                });
        MenuBar mb=new MenuBar();
        Menu m1=new Menu("File");
        Menu m2=new Menu("Edit");
        MenuItem mi1=new MenuItem("New");
        MenuItem mi2=new MenuItem("Open");
        mi2.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    FileDialog fd=new FileDialog(f,"weixing open file",FileDialog.LOAD);
                    String strFile=fd.getDirectory()+fd.getFile();
                    if(strFile!=null)
                    {
                        try
                        {
                          FileInputStream fis=new FileInputStream(strFile);
                          byte[] buf=new byte[10*1024];
                          int len=fis.read(buf);
                          tf.append(new String(buf,0,len));
                        } catch (Exception ex) 
                        {
                            ex.printStackTrace();
                        }
                        
                    }
                    fd.setVisible(true);
                }
            });
        MenuItem mi3=new MenuItem("Save");
        MenuItem mi4=new MenuItem("Exit");
        mi4.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            });
        MenuItem mi5=new MenuItem("Copy");
        MenuItem mi6=new MenuItem("Paste");
        m1.add(mi1);
        m1.add(mi2);
        m1.add(mi3);
        m1.add(mi4);
        m2.add(mi5);
        m2.add(mi6);
        mb.add(m1);
        mb.add(m2);
        f.setMenuBar(mb);
        f.setVisible(true);
    }
}

解决方案 »

  1.   

    不算小了..在
    FileDialog fd=new FileDialog(f,"weixing open file",FileDialog.LOAD);
    下面加一句
    fd.setVisible(true);
      

  2.   

    没错  还得把那个下面的fd.setVisible(true);删除掉...
      

  3.   

    import java.awt.*; 
    import java.awt.event.*; 
    import java.io.*; 
    public class open { 
        public static void main(String[] args) 
        { 
            final Frame f=new Frame("http://www.baidu.com"); 
            f.setSize(600,400); 
            f.setLocation(100,100); 
            //TextField tf=new TextField(20); 
            //f.add(tf,"NORTH"); 
            final TextArea tf=new TextArea(); 
            f.add(tf); 
            f.addWindowListener(new WindowAdapter() 
                    { 
                        public void windowClosing(WindowEvent e) 
                        { 
                            System.exit(0); 
                        } 
                    }); 
            MenuBar mb=new MenuBar(); 
            Menu m1=new Menu("File"); 
            Menu m2=new Menu("Edit"); 
            MenuItem mi1=new MenuItem("New"); 
            MenuItem mi2=new MenuItem("Open"); 
            mi2.addActionListener(new ActionListener() { 
                    public void actionPerformed(ActionEvent e) { 
                        FileDialog fd=new FileDialog(f,"weixing open file",FileDialog.LOAD); 
                        fd.setVisible(true); 
                        String strFile=fd.getDirectory()+fd.getFile(); 
                        if(strFile!=null) 
                        { 
                            try 
                            { 
                              FileInputStream fis=new FileInputStream(strFile); 
                              byte[] buf=new byte[10*1024]; 
                              int len=fis.read(buf); 
                              tf.append(new String(buf,0,len)); 
                            } catch (Exception ex)  
                            { 
                                ex.printStackTrace(); 
                            } 
                             
                        } 
                        fd.setVisible(true); 
                    } 
                }); 
            MenuItem mi3=new MenuItem("Save"); 
            MenuItem mi4=new MenuItem("Exit"); 
            mi4.addActionListener(new ActionListener() { 
                    public void actionPerformed(ActionEvent e) { 
                        System.exit(0); 
                    } 
                }); 
            MenuItem mi5=new MenuItem("Copy"); 
            MenuItem mi6=new MenuItem("Paste"); 
            m1.add(mi1); 
            m1.add(mi2); 
            m1.add(mi3); 
            m1.add(mi4); 
            m2.add(mi5); 
            m2.add(mi6); 
            mb.add(m1); 
            mb.add(m2); 
            f.setMenuBar(mb); 
            f.setVisible(true); 
        } 
    }
      

  4.   

    终于能回复了import java.awt.*;
    import java.awt.event.*;
    import java.io.*;public class TempTest {
    public static void main(String[] args) {
    final Frame f = new Frame("http://www.baidu.com");
    f.setSize(600, 400);
    f.setLocation(100, 100);
    final TextArea tf = new TextArea();
    f.add(tf);
    f.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
    });
    MenuBar mb = new MenuBar();
    Menu m1 = new Menu("File");
    Menu m2 = new Menu("Edit");
    MenuItem mi1 = new MenuItem("New");
    MenuItem mi2 = new MenuItem("Open");
    mi2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    FileInputStream fis = null;
    FileDialog fd = new FileDialog(f, "weixing open file",
    FileDialog.LOAD);
    fd.setVisible(true);
    String strFile = fd.getDirectory() + fd.getFile();
    if (strFile != null) {
    try {
    fis = new FileInputStream(strFile);
    byte[] buf = new byte[10 * 1024];
    int len = fis.read(buf);
    tf.append(new String(buf, 0, len));
    } catch (Exception ex) {
    ex.printStackTrace();
    } finally {
    try {
    fis.close();
    } catch (IOException e1) {
    e1.printStackTrace();
    }
    }
    }
    }
    }); MenuItem mi3 = new MenuItem("Save");
    MenuItem mi4 = new MenuItem("Exit"); mi3.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    FileOutputStream fis = null;
    FileDialog fd = new FileDialog(f, "weixing save file",
    FileDialog.SAVE);
    fd.setVisible(true);
    String strFile = fd.getDirectory() + fd.getFile();
    if (strFile != null) {
    try {
    fis = new FileOutputStream(strFile);
    byte[] buf = tf.getText().getBytes();
    fis.write(buf);
    } catch (Exception ex) {
    ex.printStackTrace();
    } finally {
    try {
    fis.close();
    } catch (IOException e1) {
    e1.printStackTrace();
    }
    }
    }
    }
    }); mi4.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    System.exit(0);
    }
    }); MenuItem mi5 = new MenuItem("Copy");
    MenuItem mi6 = new MenuItem("Paste");
    m1.add(mi1);
    m1.add(mi2);
    m1.add(mi3);
    m1.add(mi4);
    m2.add(mi5);
    m2.add(mi6);
    mb.add(m1);
    mb.add(m2);
    f.setMenuBar(mb);
    f.setVisible(true);
    }
    }
      

  5.   

    那能帮我加个小小小小的save功能呢?谢谢了