程序还有一点小问题。不知道怎么办?请帮我运行一下。files.showOpenDialog(f);//f是你创建的JFrame类  你说的f我把我的带到里面不行。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileView;public class fileopen
{
   public static void main(String[] args)
   {
      fileopenframe frame = new fileopenframe();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
   }
}class fileopenframe extends JFrame
{
   public fileopenframe()
   {
      setTitle("fileopen");
      setSize(500, 500);
      
      JMenuBar menubar = new JMenuBar();
      setJMenuBar(menubar);
      
      JMenu fileJMenu = new JMenu("file");
      menubar.add(fileJMenu);
                             //33      
      JMenuItem openJMenuItem = new JMenuItem("open");
      fileJMenu.add(openJMenuItem);
      openJMenuItem.addActionListener( new fileopenActionListener() )
      JMenuItem exitJMenuItem = new JMenuItem("exit");
      fileJMenu.add(exitJMenuItem);
      exitJMenuItem.addActionListener(
         new ActionListener()
         {
            public void actionPerformed(ActionEvent event)
            {
               System.exit(0);
            }
         });       Container contentpane = getContentPane();
       JTextArea fileJTextArea = new JTextArea();
       contentpane.add(fileJTextArea);
       fileJTextArea.setBounds(30,30,100,100);
       fileJTextArea.setEditable(true);
       chooser = new JFileChooser();
    }
    class  fileopenActionListener( ActionEvent event )
    {
     public void actionPerformed(ActionEvent e)   //66
     {
try {
JFileChooser files = new JFileChooser();
files.showOpenDialog( fileopenframe );//f是你创建的JFrame类
BufferedReader br = new BufferedReader(new FileReader(files.getSelectedFile()));
String str = null;
try {                                                
while((str=br.readLine())!=null)
fileJTextArea.append(str+'\n');
    } 
               catch (IOException e2) 
                     { e2.printStackTrace(); }
    } catch( FileNotFoundException e1 ) 
                    { e1.printStackTrace(); }
      }
  }    private JFileChooser chooser;
}

解决方案 »

  1.   

    files.showOpenDialog( fileopenframe );//f是你创建的JFrame类
    fileopenframe应该实例化,你可以通过传递参数来实例化
      

  2.   

    我上面实例化了。我改了一下。还是不行。files.showOpenDialog( fileopenframe );//f是你创建的JFrame类  改:files.showOpenDialog( frame );fileJTextArea.append(str+'\n'); 错误s是:1,frame 找不到 2,fileJTextArea 找不到。请问怎么回事?
      

  3.   

    能不能帮运行一下?就有两个小问题。frame 和fileJTextArea 找不到。
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*;
    import javax.swing.*;
    import javax.swing.filechooser.FileFilter;
    import javax.swing.filechooser.FileView;public class fileopen
    {
      public static void main(String[] args)
       {
          fileopenframe frame = new fileopenframe();
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.show();
       } 
    }class fileopenframe extends JFrame
    {
       public fileopenframe()
       {
          setTitle("fileopen");
          setSize(500, 500);
          
          JMenuBar menubar = new JMenuBar();
          setJMenuBar(menubar);
          
          JMenu fileJMenu = new JMenu("file");
          menubar.add(fileJMenu);
                                 //33      
          JMenuItem openJMenuItem = new JMenuItem("open");
          fileJMenu.add(openJMenuItem);
          openJMenuItem.addActionListener( new fileopenActionListener() );
          JMenuItem exitJMenuItem = new JMenuItem("exit");
          fileJMenu.add(exitJMenuItem);
          exitJMenuItem.addActionListener(
             new ActionListener()
             {
                public void actionPerformed(ActionEvent event)
                {
                   System.exit(0);
                }
             });       Container contentpane = getContentPane();
           JTextArea fileJTextArea = new JTextArea();
           contentpane.add(fileJTextArea);
           fileJTextArea.setBounds(30,30,100,100);
           fileJTextArea.setEditable(true);       chooser = new JFileChooser();
       }  //53
      
       public  class  fileopenActionListener implements ActionListener
        {
           public void actionPerformed(ActionEvent e)   //66
            {
       try {
     JFileChooser files = new JFileChooser();
     files.showOpenDialog( frame );//f是你创建的JFrame类
     BufferedReader br = new BufferedReader(new FileReader(files.getSelectedFile()));
     String str = null;
     try {                                                
    while( (str=br.readLine() ) != null )
       { fileJTextArea.append(str+'\n'); }
        } 
                        catch (IOException e2) { e2.printStackTrace(); }
          } catch( FileNotFoundException e1 ) { e1.printStackTrace(); }
            }
        }     private JFileChooser chooser;
    }
      

  4.   

    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*;
    import javax.swing.*;
    import javax.swing.filechooser.FileFilter;
    import javax.swing.filechooser.FileView;public class fileopen
    {
       public static void main(String[] args)
       {
          fileopenframe frame = new fileopenframe();
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.show();
       }
    }class fileopenframe extends JFrame
    {
       public fileopenframe()
       {
          setTitle("fileopen");
          setSize(500, 500);
          
          JMenuBar menubar = new JMenuBar();
          setJMenuBar(menubar);
          
          JMenu fileJMenu = new JMenu("file");
          menubar.add(fileJMenu);
                                 //33      
          JMenuItem openJMenuItem = new JMenuItem("open");
          fileJMenu.add(openJMenuItem);
          openJMenuItem.addActionListener( new fileopenActionListener() )
          JMenuItem exitJMenuItem = new JMenuItem("exit");
          fileJMenu.add(exitJMenuItem);
          exitJMenuItem.addActionListener(
             new ActionListener()
             {
                public void actionPerformed(ActionEvent event)
                {
                   System.exit(0);
                }
             });       Container contentpane = getContentPane();
           JTextArea fileJTextArea = new JTextArea();
           contentpane.add(fileJTextArea);
           fileJTextArea.setBounds(30,30,100,100);
           fileJTextArea.setEditable(true);
           chooser = new JFileChooser();
        }
        class  fileopenActionListener( ActionEvent event )
        {
         public void actionPerformed(ActionEvent e)   //66
         {
    try {
    JFileChooser files = new JFileChooser();
    files.showOpenDialog( new Frame());//改了
    BufferedReader br = new BufferedReader(new FileReader(files.getSelectedFile()));
    String str = null;
    try {                                                
    while((str=br.readLine())!=null)
    fileJTextArea.append(str+'\n');
        } 
                   catch (IOException e2) 
                         { e2.printStackTrace(); }
        } catch( FileNotFoundException e1 ) 
                        { e1.printStackTrace(); }
          }
      }    private JFileChooser chooser;
    }fileJTextArea 你自己定义一个
      

  5.   

    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*;
    import javax.swing.*;
    import javax.swing.filechooser.FileFilter;
    import javax.swing.filechooser.FileView;public class fileopen
    {
       public static void main(String[] args)
       {
          fileopenframe frame = new fileopenframe();
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.show();
       }
    }class fileopenframe extends JFrame
    {
     JTextArea fileJTextArea = new JTextArea();
       public fileopenframe()
       {
          setTitle("fileopen");
          setSize(500, 500);
          
          JMenuBar menubar = new JMenuBar();
          setJMenuBar(menubar);
          
          JMenu fileJMenu = new JMenu("file");
          menubar.add(fileJMenu);
                                 //33      
          JMenuItem openJMenuItem = new JMenuItem("open");
          fileJMenu.add(openJMenuItem);
          openJMenuItem.addActionListener(new fileopenActionListener() );
          JMenuItem exitJMenuItem = new JMenuItem("exit");
          fileJMenu.add(exitJMenuItem);
          exitJMenuItem.addActionListener(
             new ActionListener()
             {
                public void actionPerformed(ActionEvent event)
                {
                   System.exit(0);
                }
             });       Container contentpane = getContentPane();
          
           contentpane.add(fileJTextArea);
           fileJTextArea.setBounds(30,30,100,100);
           fileJTextArea.setEditable(true);
           chooser = new JFileChooser();
        }
        class  fileopenActionListener implements ActionListener
        {
         public void actionPerformed(ActionEvent e)   //66
         {
    try {
    JFileChooser files = new JFileChooser();
    files.showOpenDialog( new Frame());//改了
    BufferedReader br = new BufferedReader(new FileReader(files.getSelectedFile()));
    String str = null;
    try {                                                
    while((str=br.readLine())!=null)
          fileJTextArea.append(str+'\n');
    System.out.println(str);
        } 
                   catch (IOException e2) 
                         { e2.printStackTrace(); }
        } catch( FileNotFoundException e1 ) 
                        { e1.printStackTrace(); }
          }
      }    private JFileChooser chooser;
    }
      

  6.   

    你的fileJTextArea定义在构造函数里面,所以找不到上面是我该好了的
      

  7.   

    太好了,太谢谢你了。让我学习了不少东西。Thank you very much!!!