導航:首頁 > 編程語言 > 托盤程序java

托盤程序java

發布時間:2022-08-22 06:45:39

java swing 系統托盤問題

java
最小化到系統托盤

2010-09-06 15:32
package test;
import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class MyTray {
TrayIcon trayIcon;//
托盤圖標,但不是
Image
類型的



SystemTray Tray;//
系統托盤

Image
img=(new
ImageIcon("images/icon.png")).getImage();//
托盤圖標,建
議使用較小的圖片

public MyTray(){

final JFrame frame=new JFrame();
JPanel jp=new JPanel();
frame.add(jp);
frame.setSize(320,240);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setIconImage(img);//
設置窗口左上角的圖標

frame.setVisible(true);
Tray=SystemTray.getSystemTray();//
獲得系統托盤實例

//
創建系統托盤的右鍵彈出菜單

PopupMenu pm=new PopupMenu();
MenuItem mi0=new MenuItem("Open");
MenuItem mi1=new MenuItem("Close");
pm.add(mi0);
pm.add(mi1);

trayIcon=new TrayIcon(img,"",pm);//
創建托盤圖標實例

trayIcon.setImageAutoSize(true);//
圖標自動適應托盤,也就是說它自動
改變大小

trayIcon.setToolTip(" ");//
設置提示語

//
添加系統托盤圖標

frame.addWindowListener(new
WindowAdapter()
{//
當「關閉」窗口時,最
小化到系統托盤

public void windowClosing(WindowEvent e) {
try {
Tray.add(trayIcon);
} catch (AWTException exc) {
exc.printStackTrace();
}
}});
mi0.addActionListener(new ActionListener(){ //
右鍵彈出菜單的事件
監聽

public void actionPerformed(ActionEvent e) {
frame.setExtendedState(JFrame.NORMAL);
frame.setVisible(true);
Tray.remove(trayIcon);
}
});

mi1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
Tray.remove(trayIcon);//
退出程序,移出系統托盤處的圖標

⑵ 我要用JAVA做一個系統托盤,點最小化按鈕,要怎麼監聽或者給我來個系統托盤的全代碼 不要網上復制的

以下代碼直接即可運行,注意修改一下托盤圖標的文件路徑!

/////////////////////////////////////////////////////////////////////
import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.TrayIcon.MessageType;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;

public class SystemTrayTest extends JFrame {

public SystemTrayTest() throws AWTException {
this.setSize(500, 300);
this.setLocation(100, 50);

//判斷當前操作系統是否支持托盤
if (SystemTray.isSupported()) {
//獲取系統托盤
SystemTray tray = SystemTray.getSystemTray();

//托盤的右鍵菜單
PopupMenu menu = new PopupMenu();
//退出菜單
MenuItem exitItem = new MenuItem("Exit");
exitItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});

//顯示主窗口菜單
MenuItem showItem = new MenuItem("Show the main frame");
showItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
SystemTrayTest.this.setVisible(true);
}
});

//關於菜單(未注冊事件)
MenuItem aboutItem = new MenuItem("about...");

menu.add(exitItem);
menu.add(showItem);
menu.add(aboutItem);

//托盤的標題
String title = "Hey,Java!";
//托盤圖標
Image img = Toolkit.getDefaultToolkit().getImage("icon.jpg");
//實例化TrayIcon對象
TrayIcon icon = new TrayIcon(img, title, menu);
//托盤添加滑鼠事件
icon.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
SystemTrayTest.this.setVisible(true);
}
});

tray.add(icon);
icon.displayMessage("Hello!", "this is my DIY SystemTray!",
MessageType.INFO);// 運行程序的時候右下角會提示信息
}
}

public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
new SystemTrayTest().setVisible(true);
} catch (AWTException e) {
e.printStackTrace();
}
}
});
}
}

⑶ 我有一個java托盤程序,需要右擊托盤圖標出菜單後點擊啟動才運行,如何設置開機自動運行

import java.io.IOException;
public class AutoStart {
public static void changeStart(boolean isStartAtLogon) throws IOException {
String regKey = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
String myAppName = "mytest";
String exePath = "\"d:\\我的文檔\\桌面\\華容道(橫刀立馬圖解).ppt\"";
Runtime.getRuntime().exec("reg " + (isStartAtLogon ? "add " : "delete ") + regKey + " /v " + myAppName
+ (isStartAtLogon ? " /t reg_sz /d " + exePath : " /f"));
}
public static void main(String[] args) throws IOException {
try {
changeStart(true);
} catch (IOException e) {
// changeStart(false);
e.printStackTrace();
}
}
}

⑷ java應用程序系統托盤的問題

演示程序,程序啟動後會在托盤處顯示一個黑色方塊代表圖標,滑鼠移上去會有提示,右鍵點擊會有菜單。

import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.swing.JOptionPane;

public class TrayIconTest {
public static void main(String[] args) throws Exception {
TrayIcon ti = new TrayIcon(new BufferedImage(16, 16, 1));
ti.setImageAutoSize(true);
if (SystemTray.isSupported()) {
SystemTray.getSystemTray().add(ti);
ti.setToolTip("Trayicon test.");
ActionListener l = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String ac = e.getActionCommand();
if (ac.equalsIgnoreCase("action 1")) {
System.out.println("Menu 1 performed.");
} else if (ac.equalsIgnoreCase("action 2")) {
System.out.println("Menu 2 performed.");
JOptionPane.showMessageDialog(null, "Hello world.");
} else if (ac.equalsIgnoreCase("action 3")) {
System.out.println("Menu exit performed.");
System.exit(0);
}
}
};
PopupMenu pm = new PopupMenu();
MenuItem mi = new MenuItem("Menu 1");
mi.setActionCommand("action 1");
mi.addActionListener(l);
pm.add(mi);
mi = new MenuItem("Menu 2");
mi.setActionCommand("action 2");
mi.addActionListener(l);
pm.add(mi);
mi = new MenuItem("Menu exit");
mi.setActionCommand("action 3");
mi.addActionListener(l);
pm.add(mi);

ti.setPopupMenu(pm);
}
}
}

⑸ java swing 系統托盤

這里有一個文件,是介紹java最小化到托盤里的!

你可以下載看看!
另外,虛機團上產品團購,超級便宜

⑹ java 怎麼設置滑鼠點擊外面 程序托盤隱藏

packageawt;importjava.awt.AWTException;importjava.awt.MenuItem;importjava.awt.PopupMenu;importjava.awt.SystemTray;importjava.awt.TrayIcon;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjavax.swing.ImageIcon;importjavax.swing.JFrame;{privateTrayIcontrayIcon=null;//托盤圖標privateSystemTraytray=null;//本操作系統托盤的實例publicstaticTrayDemotrayDemo=newTrayDemo();privateTrayDemo(){init();}publicvoidinit(){if(SystemTray.isSupported()){//如果操作系統支持托盤this.tray();}this.setSize(300,200);this.setResizable(false);//窗口關閉時觸發事件addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}publicvoidwindowIconified(WindowEvente){try{tray.add(trayIcon);//將托盤圖標添加到系統的托盤實例中//setVisible(false);//使窗口不可視dispose();}catch(AWTExceptionex){ex.printStackTrace();}}});}privatevoidtray(){tray=SystemTray.getSystemTray();//獲得本操作系統托盤的實例ImageIconicon=newImageIcon("images/30.gif");//將要顯示到托盤中的圖標PopupMenupop=newPopupMenu();//構造一個右鍵彈出式菜單MenuItemshow=newMenuItem("打開程序(s)");MenuItemexit=newMenuItem("退出程序(x)");pop.add(show);pop.add(exit);trayIcon=newTrayIcon(icon.getImage(),"車輛管理系統",pop);/***添加滑鼠監聽器,當滑鼠在托盤圖標上雙擊時,默認顯示窗口*/trayIcon.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){if(e.getClickCount()==2){//滑鼠雙擊tray.remove(trayIcon);//從系統的托盤實例中移除托盤圖標setExtendedState(JFrame.NORMAL);setVisible(true);//顯示窗口toFront();}}});show.addActionListener(newActionListener(){//點擊「顯示窗口」菜單後將窗口顯示出來publicvoidactionPerformed(ActionEvente){tray.remove(trayIcon);//從系統的托盤實例中移除托盤圖標setExtendedState(JFrame.NORMAL);setVisible(true);//顯示窗口toFront();}});exit.addActionListener(newActionListener(){//點擊「退出演示」菜單後退出程序publicvoidactionPerformed(ActionEvente){System.exit(0);//退出程序}});}/***顯示信息*///返回單一的實例對象(){returntrayDemo;}//處理窗口事件}

⑺ java程序在eclipse中運行,托盤是有圖標的,導出為可執行文件後,運行托盤沒圖片了

路徑問題。
打包進jar文件的資源(圖片,字體,聲音)使用 Class/ClassLoader的getResouce/getResourceAsStream讀入

linux環境下,使用java最小化托盤時右鍵菜單沒有樣式!!

linux哪來的托盤?不是所有人都用gnome kde,還有用dwm jwm qtile等等,怎麼辦?

⑼ JAVA程序系統托盤裡面有兩個一樣的圖標的問題

程序結束時,沒退出。

滑鼠移到上面,就消失。

閱讀全文

與托盤程序java相關的資料

熱點內容
pdf手寫筆 瀏覽:173
別永遠傷在童年pdf 瀏覽:984
愛上北斗星男友在哪個app上看 瀏覽:414
主力散戶派發源碼 瀏覽:665
linux如何修復伺服器時間 瀏覽:55
榮縣優途網約車app叫什麼 瀏覽:473
百姓網app截圖是什麼意思 瀏覽:222
php如何嵌入html 瀏覽:811
解壓專家怎麼傳輸 瀏覽:743
如何共享伺服器的網路連接 瀏覽:133
程序員簡易表白代碼 瀏覽:167
什麼是無線加密狗 瀏覽:64
國家反詐中心app為什麼會彈出 瀏覽:69
cad壓縮圖列印 瀏覽:103
網頁打開速度與伺服器有什麼關系 瀏覽:864
android開發技術文檔 瀏覽:65
32單片機寫程序 瀏覽:52
三星雙清無命令 瀏覽:839
漢壽小程序源碼 瀏覽:345
易助erp雲伺服器 瀏覽:533