日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

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

今天就只講怎么實(shí)現(xiàn)系統(tǒng)托盤(pán)支持(因?yàn)槟壳拔揖陀昧诉@個(gè)功能 [sweat] ).

設(shè)置

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

開(kāi)始下載跨平臺(tái) JDIC 包,其中包括:

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

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

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


SystemTray 組件
這個(gè)是今天的重點(diǎn),托盤(pán)圖標(biāo)就是通過(guò)它來(lái)實(shí)現(xiàn)的.
整個(gè) org.jdesktop.jdic.tray 包只有兩個(gè)類:SystemTray 抽象了系統(tǒng)托盤(pán)本身;TrayIcon 抽象了系統(tǒng)托盤(pán)中的單個(gè)圖標(biāo)。

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


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

trayIcon.setIconAutoSize(true);

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


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


這樣就創(chuàng)建了一個(gè)托盤(pán)圖標(biāo).

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

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

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



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

PS:最近嚴(yán)重的懶惰.Blog也很久沒(méi)更新了,可能是天氣的原因吧

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多