使用JFileChooser返回路径

时间:2019-04-16 06:31:53

标签: java jfilechooser

好吧,我有一种方法可以通过JFileChooser返回路径,我想将该路径保存在变量中,然后修改File。但是,当我在JFrame按钮的一行中调用方法:tf.guardarTareasHash(operator.obtenerTabla(), "modificar", tf.path());时,我意识到我再次打开FileDialog以选择文件。

我想使用tf.path()像参数一样发送,但是我没想到它将再次打开JFileChooser。行operator.obtenerTabla()发送一个Hashtable,而 modificar 是一个String,如果程序将保存新文件或进行修改,我将其作为条件发送。 / p>

    public String path(){
        JFileChooser jfc = new JFileChooser();
        jfc.setCurrentDirectory(new 
        File("C:\\Users\\ARCANET\\Documents\\NetBeansProjects\\hash\\tareas"));
        jfc.showOpenDialog(jfc);
        String ruta = jfc.getSelectedFile().getAbsolutePath();        
        return ruta;
}

??仍然有存储所选文件的路径而无需再次打开OpenDialog吗?我想到要为此制作一个static变量。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的要求

tf.guardarTareasHash(operator.obtenerTabla(), "modificar", tf.path());

不再次打开文件对话框。在这种情况下,您需要在第一次调用路径方法时存储结果,然后再将结果作为第三个参数传递,而不是再次调用路径方法。

class MyClass {
    String myPath = null;
    ...
    // call the path method which opens the file dialog
    myPath = path();
    ...
    // use the saved result
    tf.guardarTareasHash(operator.obtenerTabla(), "modificar", myPath);
}

如果myPath未初始化(例如,用户取消文件对话框),您仍然必须执行检查操作