小弟初学java,做了个小托盘,却怎么都不成功,求帮助呀~~
private void SystemTrayInitial(){
if(!SystemTray.isSupported())
return;
try{
String title="xxx";
String company="xxxxxxx";
SystemTray sysTray=SystemTray.getSystemTray();
Image image=Toolkit.getDefaultToolkit().getImage(LoginFrame.class.getResource("/icons/sysTray.png"));
TrayIcon trayicon = new TrayIcon(image,title+"\n"+company,createMenu());
trayicon.setImageAutoSize(true);
trayicon.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
setVisible(true);
toFront();
}
});
sysTray.add(trayicon);
trayicon.displayMessage(title,company,MessageType.INFO);
}catch(Exception e){
e.printStackTrace();
}
}
private PopupMenu createMenu() {
// TODO Auto-generated method stub
PopupMenu menu=new PopupMenu();
MenuItem exitItem=new MenuItem("退出");
exitItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
MenuItem openItem=new MenuItem("打开");
openItem.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e){
if(!isVisible()){
setVisible(true);
toFront();
}else
toFront();
}
});
menu.add(openItem);
menu.addSeparator();
menu.add(exitItem);
return menu;
}
private void SystemTrayInitial(){
if(!SystemTray.isSupported())
return;
try{
String title="xxx";
String company="xxxxxxx";
SystemTray sysTray=SystemTray.getSystemTray();
Image image=Toolkit.getDefaultToolkit().getImage(LoginFrame.class.getResource("/icons/sysTray.png"));
TrayIcon trayicon = new TrayIcon(image,title+"\n"+company,createMenu());
trayicon.setImageAutoSize(true);
trayicon.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
setVisible(true);
toFront();
}
});
sysTray.add(trayicon);
trayicon.displayMessage(title,company,MessageType.INFO);
}catch(Exception e){
e.printStackTrace();
}
}
private PopupMenu createMenu() {
// TODO Auto-generated method stub
PopupMenu menu=new PopupMenu();
MenuItem exitItem=new MenuItem("退出");
exitItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
MenuItem openItem=new MenuItem("打开");
openItem.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e){
if(!isVisible()){
setVisible(true);
toFront();
}else
toFront();
}
});
menu.add(openItem);
menu.addSeparator();
menu.add(exitItem);
return menu;
}
package test;import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.TrayIcon.MessageType;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JFrame;public class TestSystemTray extends JFrame {
public static void main(String[] args) {
new TestSystemTray().SystemTrayInitial();
} private void SystemTrayInitial() {
if (!SystemTray.isSupported())
return;
try {
String title = "xxx";
String company = "xxxxxxx";
SystemTray sysTray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("/icons/sysTray.png");
TrayIcon trayicon = new TrayIcon(image, title + "\n" + company, createMenu());
trayicon.setImageAutoSize(true);
trayicon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(true);
toFront();
}
});
sysTray.add(trayicon);
trayicon.displayMessage(title, company, MessageType.INFO);
} catch (Exception e) {
e.printStackTrace();
}
} private PopupMenu createMenu() {
PopupMenu menu = new PopupMenu();
MenuItem exitItem = new MenuItem("退出");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
MenuItem openItem = new MenuItem("打开");
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (!isVisible()) {
setVisible(true);
toFront();
} else
toFront();
}
});
menu.add(openItem);
menu.addSeparator();
menu.add(exitItem);
return menu;
}
}