我编一个文本编辑器的例子 打开文件的方法定义为OpenFile然后书上用这样的代码来实现OpenFile这个方法 
  JFileChooser jFileChooser1=new JFileChooser();
  void openFile(){
    if(!okToAbandon()){
      return;
    }
    if(JFileChooser.APPROVE_OPTION==jFileChooser1.showOpenDialog(this)){
      openSelectedFile(jFileChooser1.getSelectedFile().getPath());
    }
  }
结果JB中提示说在javax.swing.JFileChooser中找不到showOpenDialog()方法
但我在SUN网站上找到这个方法了呀http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFileChooser.html还有他的方法描述:
showOpenDialog(Component parent) 
Pops up an "Open File" file chooser dialog.
怎么就是不对呢是不是我里面的参数有问题哟  请高手指点下了 参数要怎么写呀

解决方案 »

  1.   

    int result = jFileChooser1.showSaveDialog(new JFrame());
    if (result == JFileChooser.APPROVE_OPTION)
    {
        
    }应该是这样吧!!希望帮到你!
      

  2.   

    JFileChooser chooser = new JFileChooser();
    chooser.setFont(cm.font);
    chooser.setDialogTitle("Open file");
    chooser.setMultiSelectionEnabled(true);
    int result = chooser.showOpenDialog(paintWindow);
    if(result==JFileChooser.APPROVE_OPTION){}
      

  3.   

    private void loadFile() {
            int state = jFileChooser.showOpenDialog(frame);
            if (state == JFileChooser.APPROVE_OPTION) {
                File f = jFileChooser.getSelectedFile();
                try {
                    BufferedReader br = new BufferedReader(new FileReader(f));
                    jTextArea.read(br, null);
                    br.close();
                    frame.setTitle(title);
                    hasChanged = false;
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }    private void saveFile() {
            int state = jFileChooser.showSaveDialog(frame);
            if (state == JFileChooser.APPROVE_OPTION) {
                File f = jFileChooser.getSelectedFile();
                try {
                    BufferedWriter bw = new BufferedWriter(new FileWriter(f));
                    jTextArea.write(bw);
                    bw.close();
                    frame.setTitle(title);
                    hasChanged = false;
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }
      

  4.   

    dyhml(VirusCamp) :代码中的frame 是自己声明的么?
    还有, skysa(黑嘉) 可以说说 :int result = jFileChooser1.showSaveDialog(new JFrame());
    为什么这么改么?
    我的程序里new JFrame()的位置也是用this代替的,结果不行,但是用你的方法也不行。
    能解释一下原因么?