[英]How to load a File using JFileChooser?
在Java中,我想使用JFileChooser
以自己的格式加載文件[無論格式如何]。 意味着我不想閱讀和顯示JFrame
的內容。 相反,我希望它們像在Windows照片查看器/ Irfan Viewer中打開的圖像一樣打開/加載,並在Adobe Reader中打開PDF通過單擊按鈕。
我搜索了很多。 但是我閱讀的所有教程都告訴我們如何通過單擊JButton
來打印“打開此文件/您選擇此文件”這一行。 實際上沒有人在點擊按鈕上打開/加載文件。 可能是因為我是Java新手,所以我說的不正確。 我希望我的問題很清楚,請幫助......
這是我從教程頁面獲得的代碼:
public class JFileChooserTest {
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("JComboBox Test");
frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Select File");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
}
}
});
frame.add(button);
frame.pack();
frame.setVisible(true);
}
}
這是我想用Java做的事情。 這是windows的一個例子:
瀏覽按鈕單擊打開此窗口
當我選擇XLS文件並單擊“打開”按鈕時,將打開一個XLS文件。 我想用Java做同樣的事情。 希望現在更清楚了。
您可以嘗試使用Desktop.open() :
Desktop.getDesktop().open(selectedFile);
編輯你需要在這里更新:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
java.awt.Desktop.getDesktop().open(selectedFile);//<-- here
}
}
});
網站示例代碼:
如果我理解正確,您需要選擇一個文件並將其傳遞給系統的默認應用程序。 不幸的是,這在您的操作系統上非常可靠。 對於Windows,您可以將其傳遞給命令行,如下所示:
String systemcall = "cmd /C start \"\" \"" + absolutePath + "\"";
Runtime runTime = Runtime.getRuntime();
HomeLogger.instance().info("EXECUTE " + systemcall);
runTime.exec(systemcall);
String絕對路徑必須是文件的確切位置,例如“C:\\ test.txt”。 我希望有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.