這是使用JFileChooser中的程序:值沒有被存儲在一個變量中
package execute;
import java.awt.EventQueue;
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.JOptionPane;
import javax.swing.JPanel;
public class FCDemo extends JFrame
{
JFileChooser fc = new JFileChooser();
private String fileName;
public FCDemo(String title)
{
super(title);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel pnl = new JPanel();
pnl.setLayout(new GridLayout(2, 1));
JButton btn = new JButton("JFileChooser.showOpenDialog() Demo");
ActionListener al;
al = new ActionListener()
{
@Override
public void actionPerformed(ActionEvent ae)
{
switch (fc.showOpenDialog(FCDemo.this))
{
case JFileChooser.APPROVE_OPTION:
fileName=fc.getSelectedFile().getName();
JOptionPane.showMessageDialog(FCDemo.this, "Selected: "+fc.getSelectedFile(),"FCDemo",JOptionPane.OK_OPTION);
break;
case JFileChooser.CANCEL_OPTION:
JOptionPane.showMessageDialog(FCDemo.this, "Cancelled","FCDemo",JOptionPane.OK_OPTION);
break;
case JFileChooser.ERROR_OPTION:
JOptionPane.showMessageDialog(FCDemo.this, "Error","FCDemo",JOptionPane.OK_OPTION);
}
}
};
btn.addActionListener(al);
pnl.add(btn);
setContentPane(pnl);
pack();
setVisible(true);
}
public String get_fileName(){
return fileName;
}
public static void main(String[] args)
{
FCDemo demo=new FCDemo("filechooser");
System.out.println("the file name is= "+demo.get_fileName());
}
}
由於某種原因,所選擇的沒有被存儲在稱爲fileName
字符串變量的文件的目錄。當我打印fileName
到控制檯,我得到空 任何人都可以幫我解決這個問題嗎?
如果用戶花費超過10秒鐘的時間來選擇文件,該怎麼辦? – immibis
這只是查看所選文件名的一個示例。要獲取文件名,使用的方法是不正確的。 – Rahul
你如何建議我得到文件名呢? – Anish6595