gpt4 book ai didi

java - 将文件类型与 Java Swing 应用程序相关联

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:26 25 4
gpt4 key购买 nike

我正在创建一个 java swing 应用程序,我需要将我的程序设置为文件扩展名 .mcsd(MIME 类型 text/mcsd)的默认程序。这必须在 Windows 上工作,如果它也能在 OS X/Linux 上工作就更好了。我是 Java 的新手(3 或 4 个月)所以请不要用各种专家谈话来轰炸我。

我看过associating a custom file extension with java app in windows ,但我不想使用 Java Web Start。如果可能的话,我也想知道如何设置该文件类型的图标。我找到了 exe4j作为创建 .exe 并计划使用它的一种方式,但如果这不是将 convertinf 转换为 exe 的最佳工具,或者有人知道更好的东西,请随时告诉我。另一件事:程序打开后,我需要能够从此文件中获取数据。

所以我的问题是:我该怎么做?

最佳答案

部署应用程序。与 Java Web Start :

JWS provides many appealing features including, but not limited to, splash screens, desktop integration, file associations, automatic update ..

参见 file services demo.有关声明对 .zzz 文件类型感兴趣的 JNLP 示例。

这是在 JNLP 中声明关联的方式:

<association
extensions="zzz"
mime-type="text/sleepytime" />

JWS 由 Oracle 提供,可在 Windows、*nix 和 OS X 上运行。

..but I would prefer not to use the Java Web Start. Because I would like to have a native installer that just installs the program, without opening a web page or anything. If that's not how (web start) works, then I'm happy to use it.

JWS 通过 Web 或网络工作。但是,如果您可以从桌面调用打开 URL(到 JNLP),则不需要打开任何浏览器。

Would I do that using openConnection() on a URL object?

我会使用 DesktopBasicService API。

Desktop.getDesktop().browse(uri);

boolean result = basicService.showDocument(url);

BasicService demo 中所述.

In Java 6+, a call to show another web start launch file (e.g. BasicService.showDocument(another.jnlp)) will be handed directly to JavaWS, with no browser window appearing.

我希望 Desktop API 始终如此,因为 JWS 客户端是该文件类型的默认使用者。

关于java - 将文件类型与 Java Swing 应用程序相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com