使用JDIC (Jdesktop Integration Components)類庫做開發。
開發過程中遇到的問題:
開發過程中遇到的問題:
- 主窗體最小化后隱藏
當發生窗體最小化事件時把窗體隱藏就可以了
/**//*
* 最小化窗體時把窗體給隱藏了 (非 Javadoc)
* @see java.awt.event.WindowListener#windowIconified(java.awt.event.WindowEvent)
*/
public void windowIconified(WindowEvent e)
{
e.getWindow().setVisible(false);
}
- 單擊系統托盤,顯示程序主窗體
單擊系統托盤但時,把窗體置為可見,并把窗體從任務欄恢復
// 單擊系統托盤,顯示程序主窗體
tray_icon.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
buddyFrame.setVisible(true);
buddyFrame.setState(JFrame.NORMAL);
}
});
- 當有消息時在系統托盤圖標旁顯示一個消息提示
(這是一個類似與MSN那種,而不是把鼠標放到托盤上顯示的 ToolTip)
當消息到來時在系統托盤圖標旁顯示一個彈出菜單即可
public void promptMsg(String msg, String ticket, String url, String para,
String userID)
{
// 設置消息內容
mViewMsg.setText(msg);
// 設置url(點擊 mViewMsg 菜單選項事件的監聽程序)
mViewMsg.addActionListener(new msgMenuActionListener(msgMenu, url + "?"
+ para));
// 設置菜單的大小和位置
setMsgMenuSize();
msgMenu.setVisible(true);
}
/**//**
*
* 設置菜單的大小和位置
*/
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);
}