嗨我想知道当我点击netbeans jframe上的按钮时,它会打开我计算机示例中的任何文件(加载图像/视频/文档)
答案 0 :(得分:3)
在按钮单击处理程序中使用Desktop.open(文件)。
SE7 Desktop
答案 1 :(得分:1)
有一种方法可以做到这一点:
java.awt.Desktop.getDesktop().open(file);
public void actionPerformed(ActionEvent e) {
if (Desktop.isDesktopSupported()) {
try {
File myFile = new File("guide/guide.pdf");
Desktop.getDesktop().open(myFile);
} catch (IOException ex) {
JOptionPane.showMessageDialog(null,
LocalizationService.localizeString("no_pdf"),
LocalizationService.localizeString("no_pdf_tit"),
JOptionPane.INFORMATION_MESSAGE);
}
}
}
您可以在此处找到示例http://www.journaldev.com/864/how-to-open-a-file-in-java
答案 2 :(得分:0)
创建一个File
对象(或者从JFileChooser获取一个)对应你想要打开的对象,然后使用Desktop.open:
Desktop desktop = Desktop.getDesktop();
if(file.exists())
desktop.open(file);
此方法声明:
启动关联的应用程序以打开文件
另请注意您可能会遇到的例外情况:
<强>的NullPointerException 强> - 如果file为null
<强>抛出:IllegalArgumentException 强> - 如果指定的文件不存在
<强> UnsupportedOperationException异常强> - 如果当前平台不支持Desktop.Action.OPEN操作
<强> IOException的强> - 如果指定的文件没有关联的应用程序或关联的应用程序无法启动
<强>抛出:SecurityException 强> - 如果存在安全管理器且其SecurityManager.checkRead(java.lang.String)方法拒绝读访问 到文件,否则它否认了 AWTPermission(&#34; showWindowWithoutWarningBanner&#34;)权限,或者 调用线程不允许创建子进程