当前位置: 首页 > 面试题库 >

如何在Windows上使用Java在默认图像查看器中打开图像?

葛承德
2023-03-14
问题内容

我有一个用于查看附加到日志条目的图像的按钮,当用户单击该按钮时,我希望它在Windows机器上的用户默认图像查看器中打开图像吗?

我如何知道默认图像查看器中的哪个查看器?

现在我正在做这样的事情,但它不起作用:

String filename = "\""+(String)attachmentsComboBox.getSelectedItem()+"\"";
Runtime.getRuntime().exec("rundll32.exe C:\\WINDOWS\\System32\\shimgvw.dll,ImageView_Fullscreen "+filename);

通过不起作用,我的意思是它什么也没做。我试图仅在命令行中运行命令,但没有任何反应。没错,没事。


问题答案:

尝试使用CMD / C START

public class Test2 {
  public static void main(String[] args) throws Exception {
    String fileName = "c:\\temp\\test.bmp";
    String [] commands = {
        "cmd.exe" , "/c", "start" , "\"DummyTitle\"", "\"" + fileName + "\""
    };
    Process p = Runtime.getRuntime().exec(commands);
    p.waitFor();
    System.out.println("Done.");
 }
}

这将启动与文件扩展名关联的默认照片查看器。

更好的方法是使用java.awt.Desktop。

import java.awt.Desktop;
import java.io.File;

public class Test2 {
  public static void main(String[] args) throws Exception {
    File f = new File("c:\\temp\\test.bmp");
    Desktop dt = Desktop.getDesktop();
    dt.open(f);
    System.out.println("Done.");
 }
}

请参阅启动与文件扩展名关联的应用程序



 类似资料:
  • 问题内容: 我正在Ubuntu中编写一个PyGTK GUI应用程序以浏览一些图像,并且双击该图像时(例如在Nautilus中打开该图像时),我想在默认图像查看器应用程序中打开该图像。 我该怎么做? 问题答案: 我不知道具体使用PyGTK,但是:打开了文件的默认应用程序,因此运行类似的命令应该可以: 编辑: 我建议使用该模块,如注释中。我还不确定确切如何使用它,因此我仅在示例中进行了展示。

  • 更改屏幕模式 您可以使用屏幕模式选项在整个屏幕上查看图像。可以显示或隐藏菜单栏、标题栏和滚动条。 注意:按下 F 键可快速循环切换屏幕模式。 执行下列操作之一: 要显示默认模式(菜单栏位于顶部,滚动条位于侧面),请选取“视图”>“屏幕模式”>“标准屏幕模式”。或单击应用程序栏上的“屏幕模式”按钮 ,并从弹出式菜单中选择“标准屏幕模式”。 要显示带有菜单栏和 50% 灰色背景、但没有标题栏和滚动条的

  • 我接收后端发送的pdf文件,如下所示:

  • 在多个窗口中查看图像 图像显示在文档窗口中。您可以打开多个窗口来显示不同图像或同一图像的不同视图。打开窗口的列表显示在“窗口”菜单中。要将打开的图像置于顶层,请从“窗口”菜单的底部选取文件名。可用内存可能会限制每个图像的窗口数量。 选择“窗口”>“排列”>“为[图像文件名] 新建窗口”。 如果要排列窗口,请选择“窗口”>“排列”,然后选择以下选项之一: 层叠 从屏幕的左上角到右下角以堆叠和层叠方式

  • 问题内容: 有人可以向我指出如何打开默认Web浏览器并将页面设置为“ www.example.com”的正确方向。谢谢 问题答案: 是你要寻找的

  • 问题内容: 7个月前关闭。 我正在使用该网站学习python 我正在尝试像这样加载图像: 我发现其他几个帖子都问相同的问题,所有答案都告诉发布者确保图像与文件位于同一文件夹中。好吧,是的。我仔细检查了。 我还尝试将其放入一个子文件夹中并使用它。 在两种情况下,我都会收到以下错误消息。 要么 使用绝对路径时,它可以工作。但是我不应该使用这样的相对路径吗? 同样,使用软件包在Atom中执行时也会发生这