使java程序在计算机后台运行
我看过其他一些关于这方面的帖子,但并没有从中真正了解多少使java程序在计算机后台运行,java,background,Java,Background,我看过其他一些关于这方面的帖子,但并没有从中真正了解多少 我制作了一个程序,它可以像服务器一样工作,同时捕获屏幕上的不同图片。现在,我希望该程序只是在后台激活-就像隐藏图标下显示的程序一样。未直接显示在底部任务栏上的程序。 当我将java程序执行到jar文件时,是否需要在java程序中添加一些特定代码?或者我需要以其他方式创建项目吗 我希望这是足够的解释 -提前感谢您可以通过将java.awt.SystemTrayAPI与java Swing API结合使用来实现这一点 请参阅Oracle的
我制作了一个程序,它可以像服务器一样工作,同时捕获屏幕上的不同图片。现在,我希望该程序只是在后台激活-就像隐藏图标下显示的程序一样。未直接显示在底部任务栏上的程序。 当我将java程序执行到jar文件时,是否需要在java程序中添加一些特定代码?或者我需要以其他方式创建项目吗 我希望这是足够的解释
-提前感谢您可以通过将
java.awt.SystemTray
API与java Swing API结合使用来实现这一点
请参阅Oracle的以下文档:
我从中得到的超级简单的东西。我所做的只是单击添加一个出口 代码
public static void main (String [] args) {
if (!SystemTray.isSupported()) {
System.out.println("SystemTray is not supported");
return;
}
Image image = Toolkit.getDefaultToolkit().getImage("MY/PATH/TO_IMAGE");
final PopupMenu popup = new PopupMenu();
final TrayIcon trayIcon = new TrayIcon(image, "MY PROGRAM NAME", popup);
final SystemTray tray = SystemTray.getSystemTray();
MenuItem exitItem = new MenuItem("Exit");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(1);
}
});
popup.add(exitItem);
trayIcon.setPopupMenu(popup);
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("TrayIcon could not be added.");
}
}
只需获取任何图像并将其添加到您的资源或保存图像的任何位置,然后创建一条路径即可。
SystemTray.getSystemTray().add(trayIcon)
完成此任务
下面是我的一个应用程序的示例:
Image imageTrayIcon = Toolkit.getDefaultToolkit().createImage(YourClass.class.getResource("trayicon.png"));
final TrayIcon trayIcon = new TrayIcon(imageTrayIcon, "title");
// optional : a listener
trayIcon.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && !e.isConsumed()) {
e.consume();
// process double click
}
}
});
// optional : adding a popup menu for the icon
trayIcon.setPopupMenu(popup);
// mandatory
try {
SystemTray.getSystemTray().add(trayIcon);
}
catch (AWTException e1) {
// process the exception
}
你不需要特殊的东西。创建一个可执行的jar就足够了。”就像隐藏图标下的程序一样它是什么???如果您想从控制台启动它,但不想将它与控制台关联,您可以简单地使用
javaw
而不是java
。因此,您希望jar文件在后台运行,但您也希望它隐藏,这样用户只有在将文件夹选项设置为“显示隐藏文件”时才能看到它@安德Lassen@BSD_啊,没有什么对不起的解释。我希望当你打开一个小图标时显示它,这个小图标显示的是在计算机上运行的程序,但不是直接显示在windows任务栏上。请看我添加的图片。