跨方法的Java变量

跨方法的Java变量,java,variables,Java,Variables,我正在制作一个基本的文本编辑器,我有两种方法,第一种是在用户单击“打开”时触发的,它会提示用户选择一个文件,然后它会很好地打开该文件。我只想访问用户单击save时触发的方法中变量中的相同文件路径。我的方法是公开的,我尝试通过一个类访问它,仍然没有。请帮助! 代码: 将文件的完整路径存储在一个变量中,并在需要的地方使用该变量:唯一的条件是您的变量必须是可访问的。通常,您会有一个保存数据的TextEditor实例。方法open()、display()、save()将出现在TextEditor中,并使

我正在制作一个基本的文本编辑器,我有两种方法,第一种是在用户单击“打开”时触发的,它会提示用户选择一个文件,然后它会很好地打开该文件。我只想访问用户单击save时触发的方法中变量中的相同文件路径。我的方法是公开的,我尝试通过一个类访问它,仍然没有。请帮助! 代码:


将文件的完整路径存储在一个变量中,并在需要的地方使用该变量:唯一的条件是您的变量必须是可访问的。

通常,您会有一个保存数据的
TextEditor
实例。方法
open()
display()
save()
将出现在
TextEditor
中,并使用
TextEditor
的状态(例如文件名)执行其操作。
Controller
类中存在的UI事件处理程序可以访问作为模型的
TextEditor
实例,并对实例调用适当的操作(如打开、显示、保存等)。

是否定义了包含方法范围之外的文件路径的变量?也就是说,你的类中是否定义了变量?这不是一个值得投反对票的问题,但OP仍然需要粘贴他的代码和错误(如果有)。好的,给我一分钟时间粘贴,然后iv'e在方法之外声明它是的。它不起作用,因为当我试图在方法之外设置变量时,我需要访问方法中的信息,这种方法是公开的。
public void open(){
    try{
        //Open file
    JFileChooser fc = new JFileChooser();
    fc.showOpenDialog(null);
    File file = fc.getSelectedFile();
    String haha = file.getPath();
    BufferedReader br = new BufferedReader(new FileReader(file.getPath()));
    String line;
    while((line = br.readLine()) != null){
        text.append(line + "\n");
    }

    } catch (FileNotFoundException e){
        e.printStackTrace();
    }catch (IOException e){

    }
}

public void save(){
    try {
        BufferedWriter bw = new BufferedWriter(new FileWriter(file.filePath));

        bw.write(text.getText());

        bw.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}