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

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

鲁龙野
2023-03-14
问题内容

我正在创建一个Java swing应用程序,需要将我的程序设置为文件扩展名.mcsd(MIME类型text/mcsd)的默认程序。这 必须
在Windows上运行,如果在OS X / Linux上也可以运行,那就太好了。我对Java有点陌生(3或4个月),所以请不要用各种专家级的语言来轰炸我。

我已经看到在Windows中将自定义文件扩展名与Java应用程序相关联,但是我不希望不使用Java Web
Start。如果可能的话,我也想知道如何设置该文件类型的图标。我已经发现exe4j作为创建.exe和计划使用它的一种方式,但是,如果不是将exvertinf转换为exe的最佳工具,或者有人知道可以更好地告诉我。另一件事:程序打开后,我需要能够从该文件中获取数据。

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


问题答案:

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

JWS提供了许多吸引人的功能,包括但不限于初始屏幕,桌面集成, 文件关联, 自动更新。

请参阅文件服务演示。有关声明对.zzz文件类型感兴趣的JNLP的示例。

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

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

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

..但我不想使用Java Web
Start。因为我想拥有一个本机安装程序,它仅安装程序,而无需打开网页或任何其他内容。如果这不是(网络启动)的工作方式,那么我很乐意使用它。

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

我可以openConnection()在URL对象上使用吗?

我会使用DesktopBasicServiceAPI。

Desktop.getDesktop().browse(uri);

boolean result = basicService.showDocument(url);

BasicService演示中所述。

在Java6+中,显示另一个Web启动文件的调用(例如,BasicService.showDocument(another.jnlp))将直接传递给JavaWS,而不会显示浏览器窗口)。

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



 类似资料:
  • 有时候,我们需要关联某个类型的文件给一个程序来打开,比如,现在我设置.ecp为扩展名的文件总是用EasyCHM打开,在 MUI 预定义常量 下面添加声明参数值: !define SHCNE_ASSOCCHANGED 0x08000000 !define SHCNF_IDLIST 0 在相应的区段添加: ;关联文件类型 WriteRegStr HKCR ".ecp" "" "ecp.Script"

  • 问题内容: 在Linux桌面上使用C ++,获得图标,文档描述和与任意文件/文件路径“关联”的应用程序的最佳方法是什么? 我想使用最“规范”的方式在KDE和gnome上查找图标,mime类型/文件类型的描述以及相关的应用程序,我想 避免对命令行的任何“脱壳” 和“低级”例程,以及避免自己重新发明轮子(无需解析mime-types文件等)。 编辑和注释: 嘿,我最初是问有关QT文件信息对象的问题,并

  • 问题内容: 我想在Windows下将一些文件扩展名“链接”到我的Java应用程序。当用户双击带有“链接”扩展名的文件时,我想打开我的应用程序,我需要知道启动该应用程序的文件的路径。 问题答案: 如果您部署应用程序。使用Java WebStart可以在启动文件中声明对文件类型的兴趣。观看演示。文件服务,.. ..提示用户将内容类型的文件扩展名(仅是不太可能与现有文件关联冲突的文件类型)相关联。..

  • 当我尝试运行一个新的Swing应用程序时,我遇到了一些重大问题。我使用的是NetBeans 8.1、JDK版本1.8和OS Windows 10。 所以每次我试图打开一个新的Swing项目(不管它是应用项目还是EA),并且我运行它,NetBeans都会正确部署它,但是Swing窗口没有打开,在NetBeans的状态栏中它只是显示正在运行。我等了几分钟,然后我不得不停止构建,因为什么都没发生。当我在

  • 问题内容: 我正在编写一个基于跨平台Swing的应用程序,在该应用程序中我想利用已在OS中注册的文件关联。 因此,iv到了可以单击文件并加载应用程序的地步,但是我需要知道的是如何让我的应用程序知道启动文件的文件的位置,然后查询内容。 与文件关联注册还有其他关系吗?还是Java可以帮我做到这一点? 问题答案: 我不是很肯定,但是我希望通过文件单击处理的文件名最终会出现在方法的参数中。您是否尝试过/检