使用JDIC (Jdesktop Integration Components)類庫做開發(fā)。
開發(fā)過程中遇到的問題:
開發(fā)過程中遇到的問題:
- 主窗體最小化后隱藏
當(dāng)發(fā)生窗體最小化事件時把窗體隱藏就可以了
/**//*
* 最小化窗體時把窗體給隱藏了 (非 Javadoc)
* @see java.awt.event.WindowListener#windowIconified(java.awt.event.WindowEvent)
*/
public void windowIconified(WindowEvent e)
{
e.getWindow().setVisible(false);
}
- 單擊系統(tǒng)托盤,顯示程序主窗體
單擊系統(tǒng)托盤但時,把窗體置為可見,并把窗體從任務(wù)欄恢復(fù)
// 單擊系統(tǒng)托盤,顯示程序主窗體
tray_icon.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
buddyFrame.setVisible(true);
buddyFrame.setState(JFrame.NORMAL);
}
});
- 當(dāng)有消息時在系統(tǒng)托盤圖標(biāo)旁顯示一個消息提示
(這是一個類似與MSN那種,而不是把鼠標(biāo)放到托盤上顯示的 ToolTip)
當(dāng)消息到來時在系統(tǒng)托盤圖標(biāo)旁顯示一個彈出菜單即可
public void promptMsg(String msg, String ticket, String url, String para,
String userID)
{
// 設(shè)置消息內(nèi)容
mViewMsg.setText(msg);
// 設(shè)置url(點擊 mViewMsg 菜單選項事件的監(jiān)聽程序)
mViewMsg.addActionListener(new msgMenuActionListener(msgMenu, url + "?"
+ para));
// 設(shè)置菜單的大小和位置
setMsgMenuSize();
msgMenu.setVisible(true);
}
/**//**
*
* 設(shè)置菜單的大小和位置
*/
private void setMsgMenuSize()
{
Dimension menuSize = new Dimension(200,150);
msgMenu.setPopupSize(menuSize);
int xMenu = tray_icon.getLocationOnScreen().x - menuSize.width + 50;
int yMenu = tray_icon.getLocationOnScreen().y - menuSize.height;
Point menuPoint = new Point(xMenu, yMenu);
msgMenu.setLocation(menuPoint);
}