我有一个带有三个JButton的JPanel,它们可以打开JFileChooser。 当我选择每个文件时,我只想获取文件路径,因此以后可以依次打开文件f1,f2,f3,但又不能一起打开(即关闭一个文件打开下一个文件)。 有没有一种方法可以在不调用getSelectedFile()的情况下获取文件名? 这正在杀死我的程序,并且冻结了……
谢谢
public void actionPerformed(ActionEvent e) {
//Handle open button action.
if (e.getSource() == openActiveSKUsButton) {
int returnVal = fc.showOpenDialog(UI.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile(); // this is bad
ActiveSKUsFilePath = file.getAbsolutePath();
//This is where a real application would open the file.
log.append("Active SKUs file selected is: " + file.getName() + "." + newline);
file = null; //doesn't seem to work
System.gc(); //ditto as above
} else {
//log.append("Open command cancelled by user." + newline);
}
log.setCaretPosition(log.getDocument().getLength());
}
}
答案 0 :(得分:0)
将File
引用存储在实例变量中,并在以后使用。这意味着打开文件将由其他操作触发。
public class MyGuiApp {
private File file1;
private File file2;
...
// Action listener for file chooser
public void actionPerformed(ActionEvent e) {
...
file1 = fc.getSelectedFile();
log.append("Active SKUs file selected is: " + file1.getName());
}
// Action listener for opening the file - like pressing a button
public void actionPerformed(ActionEvent e) {
// use or open file 1
}
}