java - 在不使用 JFileChooser 的情况下从 Java GUI 在默认应用程序中打开文件

标签 java swing user-interface file-io jfilechooser

我有一个 JList 类型的对象

Result(String title, String content, String filePath)

这个 JList 有一个 MouseListener。我想实现一个双击 MouseEvent 来传递所选结果的文件路径,这样它就可以在我的 Java GUI 应用程序之外打开文件。

例如:

如果我双击 JList 中的一个结果对象 标题:“文件1” 内容:“这是文档 1” 文件路径:“C:\doc1.doc”

我希望程序在 Microsoft Word 应用程序之外打开此文档。

换句话说,我如何绕过 JFileChooser 并在其默认应用程序中打开应用程序外部的文件?

最佳答案

我认为您正在寻找 evt.getClickCount()
在您的 mouseEvent 方法中,您可以创建如下控制语句:

public void mouseClicked(MouseEvent ev){
 if(ev.getClickCount() ==2){
  try{
  java.awt.Desktop.getDesktop().open(new File("path/to/file"));
}catch(FileNotFoundException ex){
//.....
}
}
}

同时检查这个 link .

关于java - 在不使用 JFileChooser 的情况下从 Java GUI 在默认应用程序中打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949717/

相关文章:

java - 如何在 Android Studio 中导入并使用 txt 文件?

java - 创建名称为 "sessionFactory"的 bean 时出错

java - 在 Applet On Event 中使用 PaintComponent 进行绘图

javascript - ReactJS 组件在 className 更改时意外重新加载

java - 在 Java 8 中为单引号和逗号连接数字

Java JButton 大小问题

java - 在 JTable 中将数字格式化为货币?

matlab - 允许用户在已编译的Matlab GUI中提供.m函数

java - java中使用Slider旋转对象

java - 为什么 Java 中 (Integer) 222 != (Integer) 222 ?