好吧,我有一种方法可以通过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
变量。
答案 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
未初始化(例如,用户取消文件对话框),您仍然必须执行检查操作