使用Java實(shí)現(xiàn)系統(tǒng)托盤(pán)功能的介紹(附源碼以及截圖)
Java中如何,實(shí)現(xiàn)系統(tǒng)托盤(pán)功能.
示例圖
項(xiàng)目包結(jié)構(gòu)圖

系統(tǒng)運(yùn)行截圖

應(yīng)用核心邏輯說(shuō)明,隱藏到托盤(pán)實(shí)質(zhì)就是講窗體隱藏.即setVisible(false),顯示窗體即就是講setVisible(true).
項(xiàng)目代碼如下:
package org.pdp.frame;
import java.awt.AWTException;
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.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MainFrame extends JFrame implements ActionListener{
private static final long serialVersionUID = -7078030311369039390L;
private JMenu menu;
private JMenuBar jmenuBar;
private String [] jmItemName = {"置于托盤(pán)","系統(tǒng)退出"};
public MainFrame(){
super("電話薄");
init();
this.setSize(500,400);
this.setJMenuBar(jmenuBar);
this.setLocationRelativeTo(null);
systemTray(); //系統(tǒng)托盤(pán)
}
/**
* 初始化界面
*/
public void init(){
menu = new JMenu("系統(tǒng)窗體");
for(int i=0; i<jmItemName.length; i++){
JMenuItem menuItem = new JMenuItem(jmItemName[i]);
menuItem.addActionListener(this);
menu.add(menuItem);
}
this.jmenuBar = new JMenuBar();
this.jmenuBar.add(menu);
}
@Override
public void actionPerformed(ActionEvent e) {
String actions = e.getActionCommand();
if("置于托盤(pán)".equals(actions)){
this.setVisible(false);
}
if("系統(tǒng)退出".equals(actions)){
System.exit(0);
}
}
/**系統(tǒng)托盤(pán)圖標(biāo)處理.*/
private void systemTray(){
if(SystemTray.isSupported()){ //判斷系統(tǒng)是否支持托盤(pán)功能.
URL resource = this.getClass().getResource("systray.jpg"); //獲得圖片路徑
ImageIcon icon = new ImageIcon(resource); //創(chuàng)建圖片對(duì)象
PopupMenu popupMenu = new PopupMenu(); //創(chuàng)建彈出菜單對(duì)象
MenuItem itemExit = new MenuItem("退出系統(tǒng)"); //創(chuàng)建彈出菜單中的退出項(xiàng)
MenuItem itemShow = new MenuItem("顯示窗體"); //創(chuàng)建彈出菜單中的顯示主窗體項(xiàng).
itemExit.addActionListener(new ActionListener() { //給退出像添加事件監(jiān)聽(tīng)
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
itemShow.addActionListener(new ActionListener() { //給窗體最小化添加事件監(jiān)聽(tīng).
@Override
public void actionPerformed(ActionEvent e) {
setVisible(true);
}
});
popupMenu.add(itemExit);
popupMenu.add(itemShow);
TrayIcon trayIcon = new TrayIcon(icon.getImage(),"電話薄系統(tǒng)",popupMenu);
SystemTray sysTray = SystemTray.getSystemTray();
try {
sysTray.add(trayIcon);
} catch (AWTException e1) { }
}
}
/**
* 主方法
* @param args
*/
public static void main(String[] args) {
new MainFrame().setVisible(true);
}
}
- java利用phantomjs進(jìn)行截圖實(shí)例教程
- java實(shí)現(xiàn)pdf文件截圖的方法【附PDFRenderer.jar下載】
- Java實(shí)現(xiàn)對(duì)視頻進(jìn)行截圖的方法【附ffmpeg下載】
- spring(java,js,html) 截圖上傳圖片實(shí)例詳解
- java編程實(shí)現(xiàn)屏幕截圖(截屏)代碼總結(jié)
- Java模擬QQ桌面截圖功能實(shí)現(xiàn)方法
- Java實(shí)現(xiàn)屏幕截圖及剪裁
- java實(shí)現(xiàn)區(qū)域內(nèi)屏幕截圖示例
- java代碼實(shí)現(xiàn)截圖功能(屏幕截圖)
- java實(shí)現(xiàn)攝像頭截圖功能
相關(guān)文章
Java實(shí)現(xiàn)每日給女友微信發(fā)送早安信息
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)每日給女友微信發(fā)送早安等微信信息,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-12-12
java字節(jié)流、字符流與轉(zhuǎn)換流過(guò)程
輸入輸出流(IO流)是數(shù)據(jù)傳輸?shù)某橄蟾拍?用于表示數(shù)據(jù)在設(shè)備間的傳輸過(guò)程,IO流按數(shù)據(jù)類型分為字符流和字節(jié)流,按數(shù)據(jù)流向分為輸入流和輸出流,字節(jié)流操作單個(gè)字節(jié),字符流操作字符,在實(shí)際應(yīng)用中,非文本文件多用字節(jié)流操作2024-10-10
IntelliJ IDEA失焦自動(dòng)重啟服務(wù)的解決方法
在使用 IntelliJ IDEA運(yùn)行 SpringBoot 項(xiàng)目時(shí),你可能會(huì)遇到一個(gè)令人困擾的問(wèn)題,一旦你的鼠標(biāo)指針離開(kāi)當(dāng)前IDE窗口,點(diǎn)擊其他位置時(shí), IDE 窗口會(huì)失去焦點(diǎn),你的 SpringBoot 服務(wù)就會(huì)自動(dòng)重啟,所以本文給大家介紹了IntelliJ IDEA失焦自動(dòng)重啟服務(wù)的解決方法2023-10-10
一個(gè)簡(jiǎn)單的Python名片管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了一個(gè)簡(jiǎn)單的Python名片管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
java WebSocket實(shí)現(xiàn)聊天消息推送功能
這篇文章主要為大家詳細(xì)介紹了java WebSocket實(shí)現(xiàn)聊天消息推送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
如何在Springboot實(shí)現(xiàn)攔截器功能
其實(shí)spring boot攔截器的配置方式和springMVC差不多,只有一些小的改變需要注意下就ok了,下面這篇文章主要給大家介紹了關(guān)于如何在Springboot實(shí)現(xiàn)攔截器功能的相關(guān)資料,需要的朋友可以參考下2022-06-06

