【问题标题】:How to see Java executable jar file now running and stop jar file from GUI or notification window?如何查看正在运行的 Java 可执行 jar 文件并从 GUI 或通知窗口停止 jar 文件?
【发布时间】:2019-01-14 10:39:59
【问题描述】:

我有 Java Basic HTTP 服务器 在 localhost:9090 上运行并监听请求。此 Java 应用程序是一个可执行 jar 文件。我通过双击运行该 jar 文件。我的 Java 应用程序(jar)没有 GUI,也不需要 GUI。

但是当我双击时,我无法理解可执行 jar 文件已启动并运行。当然,当我检查机器上运行的进程时,我可以找到运行可执行 jar 的进程。

使用可执行 jar 的用户可能找不到此进程。因为不是每个人都是开发者。它也不是用户友好的。

我想让您知道 jar 正在运行,并通知双击可执行 jar 文件的用户。

这可以是一个窗口,或者窗口可以在底部接收通知。 如果用户愿意,可以通过按下该窗口中的按钮来停止罐子的运行。

我想要一些简单的东西。 逻辑上记住 xamp 服务器。用户应该能够通过单击下面的通知来查看 jar 是否真的在工作。

正如我所说,应用程序不需要编写 GUI,但它可以是一个小界面。

我该如何处理这份工作?

【问题讨论】:

  • 使用 java -jar myJar.jar 命令创建 .bat 或 .sh 文件。双击此脚本。那么终端就是一种“控制台”。

标签: java swing executable-jar httpserver


【解决方案1】:

您可以编写另一个小型 Java 应用程序,该应用程序将运行该应用程序并提供系统托盘功能。 AWT 有一些系统托盘功能,这比摆动系统托盘功能更好(当我使用它时)。甚至还有一些项目可以提供更好的解决方案:https://github.com/dorkbox/SystemTray

但可能没有办法在不进行任何编码的情况下修复当前应用程序。

【讨论】:

    【解决方案2】:

    您可以在系统托盘中添加一个图标:https://docs.oracle.com/javase/tutorial/uiswing/misc/systemtray.html

    或者最简单的方法是在单独的线程中启动您的应用程序,然后您可以打开一个 JOptionPane,它会在对话框关闭时停止应用程序线程。 https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html

    注意,JOptionPane 是一个简单的对话框,任务栏中没有应用程序图标。如果您想让您的应用程序出现在任务栏中,您必须创建一个窗口。

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 2023-03-08
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多