小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

使用JDesktop Integration Components實現(xiàn)桌面系統(tǒng)托盤

 duduwolf 2005-11-13
JDesktop Integration Components (JDIC),是一個開源的項目,目的是構(gòu)建消除本機應(yīng)用程序和 Java 等價物之間差距的組件。JDIC 單一的 Java API 允許應(yīng)用程序接進本機操作系統(tǒng)特性,同時保持跨平臺支持。它目前提供了本機 Web 瀏覽器(Internet Explorer 或 Mozilla) 支持、系統(tǒng)托盤支持、文件擴展集成和其他桌面特性。

今天就只講怎么實現(xiàn)系統(tǒng)托盤支持(因為目前我就用了這個功能 [sweat] ).

設(shè)置

編寫和運行使用 JDIC 應(yīng)用程序的機器設(shè)置比通常情況略微麻煩一些。除了通常的類路徑要求之外,還必須提供 Java 類要調(diào)用的操作系統(tǒng)庫。每個操作系統(tǒng)都有不同的操作系統(tǒng)庫,所以如果想使用 JDIC 將應(yīng)用程序移植到許多不同的操作系統(tǒng)上,則必須為每個操作系統(tǒng)提供一個庫。使用 JDIC 發(fā)行版 0.9 時(也就是這篇文章所根據(jù)的版本),JDIC 可以處理 Windows、Linux 和 Solaris 系統(tǒng)(要對 Macintosh 的擁護者說抱歉了)。

開始下載跨平臺 JDIC 包,其中包括:

1.jdic.jar:這個 JAR 文件包含進行 JDIC 開發(fā)所需的所有 Java 類。它們必須位于類路徑中,以便進行編譯。

2.jdic.dll 和 tray.dll:在 Windows 安裝中,這些文件都要放在 C:\Windows 目錄(或者對應(yīng)的目錄)中。這些文件包含 jdic.jar 的 Java 方法和本機操作系統(tǒng)方法之間的"橋接"方法。

3.libjdic.so 和 libtray.so:在 Solaris 和 Linux 系統(tǒng)上,這些文件必須放在 LD_LIBRARY_PATH 文件夾中。


SystemTray 組件
這個是今天的重點,托盤圖標就是通過它來實現(xiàn)的.
整個 org.jdesktop.jdic.tray 包只有兩個類:SystemTray 抽象了系統(tǒng)托盤本身;TrayIcon 抽象了系統(tǒng)托盤中的單個圖標。

最直觀的方式就是看代碼:


SystemTray tray = SystemTray.getDefaultSystemTray();
//getPopupMenu()方法是創(chuàng)建一個菜單,代碼略
final TrayIcon trayIcon = new TrayIcon(getTrayIcon(), "Tray Test",getPopupMenu());

trayIcon.setIconAutoSize(true);

trayIcon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(true);//點擊圖標顯示界面
}
});
tray.addTrayIcon(trayIcon);//向系統(tǒng)托盤添加新的 TrayIcon


private ImageIcon getTrayIcon() {
return new ImageIcon(Client.class.getResource("images/icon.png"));
}


這樣就創(chuàng)建了一個托盤圖標.

TrayIcon 類(很不幸)目前對它與鼠標單擊的交互方式進行了硬編碼。TrayIcon 在鼠標左鍵單擊時將觸發(fā) ActionEvent,而在鼠標右擊時則顯示彈出菜單。

它還允許 TrayIcon 顯示 Windows 用戶熟悉的"泡泡消息"。
單擊示例應(yīng)用程序的 Alert 按鈕,就可以看到實際運用中的泡泡消息。以下是實現(xiàn)它的代碼:

//getBtnAlert()方法返回一個Button對象,方法略
getBtnAlert().addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
trayIcon.displayMessage("Alert", "This is an Alert Message", TrayIcon.INFO_MESSAGE_TYPE);
}
});



JDesktop Integration Components彌補了在 Swing 和 Java 程序語言之間的主要差距。隨著其他方面的不斷努力,差距會進一步縮小,總有一天,用戶會無法區(qū)分 Java 應(yīng)用程序和本機應(yīng)用程序.如果大家對它的其他功能有興趣的話可以訪問https://jdic.dev./ JDIC Project 的主頁。

PS:最近嚴重的懶惰.Blog也很久沒更新了,可能是天氣的原因吧

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多