【问题标题】:Cannot find symbol - method getAbsolutePath() java [duplicate]找不到符号-方法getAbsolutePath()java [重复]
【发布时间】:2018-05-13 12:59:49
【问题描述】:

我尝试使用“getAbsolutePath()”方法,但总是遇到同样的错误。 这是我尝试使用它的方法:

class OpenFrequenciesL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            JFileChooser fileChooser = new JFileChooser();
            final FileNameExtensionFilter filter = new FileNameExtensionFilter("Text", "txt");
            fileChooser.setFileFilter(filter);
            int fileChooserResult = fileChooser.showOpenDialog(MyGUI.this);
            if (fileChooserResult == JFileChooser.APPROVE_OPTION) {
                filename.setText(fileChooser.getSelectedFile().getName());
                dir.setText(readLineByLineJava8(fileChooser.getAbsolutePath()));
            } if (fileChooserResult == JFileChooser.CANCEL_OPTION) {
                filename.setText("You pressed cancel");
                dir.setText("");
                }
            }
        }

我可能需要导入一些东西,但老实说,我什至不确定此时我做错了什么。这是我导入的所有内容:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JFileChooser;
import javax.swing.text.JTextComponent;
import java.util.*;
import java.io.*;
import java.nio.file.*;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;
import java.io.File;

【问题讨论】:

  • 是什么让您认为fileChooser 甚至还有getAbsolutePath() 方法? 提示: fileChooser 不是 File 对象。
  • 好吧,我不知道让我放松一下,我是新手
  • 我的问题是我在思考你是如何知道一个名为getAbsolutePath() 的方法甚至存在于任何地方的。但是,您应该只检查文档,即您调用方法的对象类型的 javadoc,在本例中是 JFileChooser 类:docs.oracle.com/javase/9/docs/api/javax/swing/JFileChooser.html。然后,您将知道哪些方法可用,并自己了解它没有这种方法。 idownvotedbecau.se/noresearch

标签: java swing import path


【解决方案1】:

这是因为您试图调用 JFileChooser 的方法getAbsolutePath(),该方法不存在。相反,您应该将 dir.setText(... 行替换为:

dir.setText(readLineByLineJava8(fileChooser.getSelectedFile().getAbsolutePath()));

这是因为 JFileChooser 没有 getAbsolutePath() 方法,因此您需要获取它选择的文件的 File 对象(由 getSelectedFile() 返回)并调用 getAbsolutePath() 以获取文件路径。

我希望这会有所帮助!

【讨论】:

    【解决方案2】:

    JFileChooser 类没有 getAbsolutePath() 方法。

    dir 变量是什么?

    看起来你可能想要...

    fileChooser.getCurrentDirectory().getAbsolutePath()
    

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 2012-09-09
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2016-05-24
      相关资源
      最近更新 更多