我已經看過關於此的其他一些帖子,但並沒有真正理解它。製作一個java程序在電腦的後臺運行
我製作了一個程序,它像一臺服務器一樣捕獲屏幕的不同圖片。現在,我希望程序能夠在後臺處於活動狀態 - 就像出現在隱藏圖標下的程序一樣。不直接顯示在底部任務欄的程序。 當我將它執行到jar文件時,是否需要在我的java程序中添加一些特定的代碼?或者我需要以其他方式創建項目?
我希望這是足以解釋 - 在此先感謝
我已經看過關於此的其他一些帖子,但並沒有真正理解它。製作一個java程序在電腦的後臺運行
我製作了一個程序,它像一臺服務器一樣捕獲屏幕的不同圖片。現在,我希望程序能夠在後臺處於活動狀態 - 就像出現在隱藏圖標下的程序一樣。不直接顯示在底部任務欄的程序。 當我將它執行到jar文件時,是否需要在我的java程序中添加一些特定的代碼?或者我需要以其他方式創建項目?
我希望這是足以解釋 - 在此先感謝
東西超級簡單,我從Here了。我所做的只是點擊添加一個退出。
代碼
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.");
}
}
剛剛得到任何圖像,並把它添加到您的資源或你保持你的圖片,並作出路徑。
您可以通過在的Java Swing API組合使用java.awt.SystemTray
API實現這一目標。
從Oracle參見本文檔:
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就夠了。 – davidxxx
「就像出現在隱藏圖標下的程序一樣。」它是什麼 ??? – davidxxx
如果你想從控制檯啓動它,但不把它與一個關聯,你可以簡單地使用'javaw'而不是'java'。 –