我从批处理文件中调用一个jar,它实际上在Windows 10中打开了一个GUI应用程序。我想从批处理文件中以最大化模式打开这个java应用程序。我找到了很多答案,但他们最大化了我的.bat文件,但没有最大化我的应用程序。以下是我调用该应用的方式:
cd c:\myfolder
"C:\otherfolder\java\bin\java.exe" -jar myjar.jar
它打开了应用程序,但我想以最大化模式打开应用程序。也就是说,jarfile包含一个GUI应用程序,这就是我想要最大化的内容。
答案 0 :(得分:2)
A linked answer告诉我们如何使一个典型的基于JFrame的应用程序在开始时最大化,但问题是,我们可以通过java -jar
向应用程序发信号通知它应该最大化吗?
简短回答:并非没有重新编译Java应用程序。
更长的答案:我们要么从批处理运行时传递环境,要么通过我们正在调用的JVM传递属性,以便应用知道它被要求最大化自己。也就是说,我们提供检查环境或运行时属性的逻辑,并以特定方式调用GUI启动。或者,我们让应用程序本身采用选项,并在我们希望它最大化时简单地将该选项传递给它。
如果像启动命令一样工作as described in another answer,我也可能错误。
更新:我可以确认start /MAX java -jar ...
将排序,但不是真的有效。它将最大化启动的java.exe窗口,但其中的GUI组件将不会最大化。
可能是你可以在这里使用的一些shell技巧,但我认为这有点傻瓜的差事。任何shell hack都会变得脆弱并且特定于发布。在一天结束时,实际负责显示自身的GUI组件很少或没有像这样的平台特定请求的概念。
这是所谓的"本地"之间的根本区别。通过虚拟机运行的GUI应用程序和应用程序。