我需要编写一个程序,该程序在最小化时位于系统托盘中,我将使用Java6的SystemTrayAPI来完成此操作。当用户按下某个热键时,如何让该应用程序进入前台?例如,应用程序正在运行但已最小化。当用户按下CTRL-SHIFT-Y或其他东西(或者像Google桌面的搜索一样,按下CTRL两次)并且应用程序被最大化。编辑:我知道howtobringaJavawindowtotheforeground.我想更具体地询问如何让正在运行的Java应用监听热键。 最佳答案 您将需要求助于JNI,查看anexample.这是anothernice
我希望我的JavaSwing应用程序一次只运行一个实例。如果打开第二个实例,我希望它将其参数传递给已经运行的实例。我怎样才能使用一个漂亮、干净的JavaAPI来做到这一点?(我不想自己使用套接字或文件系统锁来实现它)。我见过许多在Java中强制执行单个实例的解决方案,但我所知道的唯一一个将参数传递给正在运行的实例的解决方案使用JNLP的SingleInstanceService,而且我没有编写JavaWeb启动应用程序,所以我不能使用它(我尝试时遇到NullPointerException)。 最佳答案 参见http://www.a
我遇到了JInternalFrame实现的问题。我使JInternalFrame未修饰,这样JInternalFrame的标题栏和边框就被移除了。问题出现在以下场景中。在Windows7机器上执行程序。此时JInternalFrame仍未修饰。使用远程桌面共享访问Windows7计算机另一台机器。现在内部框架的标题栏和边框变得可见。此问题仅出现在Windows7计算机中,而不会出现在WindowsXP中。您可以使用远程桌面共享从另一台Windows7计算机或WindowsXP计算机访问Windows7计算机。此外,如果您首先使用远程桌面共享访问计算机,然后执行程序,JInternalF
我正在构建一个Java桌面应用程序,需要存储一些本地数据(首选项和历史记录)。为此,我想在适当的位置创建一个新文件夹,例如Windows中的AppData\myapp和Linux中的~/.myapp苹果机)。什么是好的、跨平台的方式来做到这一点?我在这个网站上看到了几个关于这个问题的问题,但是要么:提问者想要查找Windows的应用程序数据(非跨平台)解决方案是在user.home中创建一个文件夹(Linux风格,不是跨平台的)这是我目前所做的,但我正在寻求改进。 最佳答案 你总是可以使用JavaPreferencesAPI它将存储
我使用ApacheFelix和Glassfish工作了几个月。我可以创建简单的Web应用程序。现在我必须创建基于OSGI架构的Java守护进程。是否有任何带有示例代码的好教程可以帮助学习用于Java桌面应用程序的ApacheFelix。我也想问一下bundle是怎么打包的?是web应用程序,它们是jar文件。 最佳答案 我会说使用webstart是最简单的。在那种情况下,您将创建一个包含Felix(可能还有更多库)的基本jar文件,它可以启动您的应用程序,客户端可以从那里使用Bundle.install下载其他包。您还可以将它与Ap
我创建了一个使用JavaWebStart启动的NetBeans平台应用程序。我在Netbeans6.8中使用“构建JNLP应用程序”命令构建了WAR文件。我已将桌面快捷方式和菜单项添加到JNLP文件,但由于某些原因,这些在应用程序启动时并未创建。但是,当我去:ControlPanel->Java->TemporaryInternetFiles->View->Selectmyapplication>Click'Installshortcutstotheselectedapplication'桌面和菜单快捷方式已正确创建。此外,在Java控制台中,“快捷方式创建”选项设置为以下(我认为是默
我正在编写一个旨在在桌面上运行的Java应用程序,它将使用Swing作为其UI。我熟悉JavaWebStart,但听说它可能很麻烦且存在错误。有哪些工具可以更轻松地将Java应用程序部署到多个平台?我特别在寻找可免费使用的工具,或者至少是可免费用于开源项目的工具。编辑:我应该澄清一下,这是一个主要在后台运行的点对点应用程序,应该(可选)能够在Windows、Mac和Linux上自动启动。edit2:我应该进一步澄清,这个应用程序旨在在政府可能审查我们网站的国家/地区运行。因此,重要的是它可以作为独立文件分发,而不是必须从已知网站下载的文件。 最佳答案
我正在研究使用Jigsaw来减少微服务的占用空间。我必须找到的最后一个依赖项是java.beans.Introspector。想象一下当我发现我需要引入整个模块java.desktop时我的惊讶,它包含各种不相关的东西,如awt、applets、swing等。这对我来说似乎很疯狂,bean内省(introspection)肯定应该是基本语言的一部分,并且与UI功能无关。我认为该依赖项来自SpringBoot的嵌入式Tomcat,因此我无法自行修改它。问题:模块是您可以访问的最精细的粒度,还是有另一种方法可以减少脂肪。 最佳答案 依赖
我敢肯定有很多方法,但是对您的代码影响最小的推荐方法是什么?显而易见的是,您创建了属性文件,但如何在渲染中交换值?在J2EE中,您总是只需重新呈现整个页面,这样就很容易了。但是在Swing应用程序中,您只是在paintComponent(Graphicsg)方法中添加.getProperty()的代码吗?如果是这样的话,是不是看起来很繁重,因为现在你必须在之前不需要的任何地方重写这个方法......附加:您如何设置通知系统以重新呈现所有当前可见的组件而不强制某种注册模式?我想如果我覆盖了paintComponent(Graphicsg),我所要做的就是触发一个事件,表明某些东西已经改变
如果同一个独立工具也可以支持通过文件系统以外的其他协议(protocol)浏览存储库,那就更好了 最佳答案 我发现了这个非常棒的简单工具http://code.google.com/p/mycila/wiki/MavenDeployer 关于java-桌面GUI工具,用于浏览新的jar并将其安装到本地Maven仓库,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4606303/