把窗口最小化到托盘,用的下面的代码 // 托盘
public void tray(){
// 检查当前系统是否支持系统托盘
if(SystemTray.isSupported()){
// 获取表示桌面托盘区的SystemTray实例
SystemTray tray = SystemTray.getSystemTray();
// 获取图片
Image image = Toolkit.getDefaultToolkit()
.getImage(fMain.class.getResource("")+"java.ico");
// 弹出菜单
PopupMenu popupMenu = new PopupMenu();
MenuItem exitItem = new MenuItem("关闭");
exitItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try
{
System.exit(0);
}
catch(Exception ex)
{
l_status.setText("错误:" + e);
}
}
});
popupMenu.add(exitItem);
TrayIcon trayIcon = new TrayIcon(image, "无线鼠标", popupMenu); try
{
// 将TrayIcon添加到 SystemTray
tray.add(trayIcon);
}
catch(AWTException e)
{
l_status.setText("错误:" + e);
}
}
}运行后托盘空出了一片空白,鼠标点在上面有菜单,但是图片没有显示出来,这是怎么回事呢?java.ico是一个8*8的ico图标。
public void tray(){
// 检查当前系统是否支持系统托盘
if(SystemTray.isSupported()){
// 获取表示桌面托盘区的SystemTray实例
SystemTray tray = SystemTray.getSystemTray();
// 获取图片
Image image = Toolkit.getDefaultToolkit()
.getImage(fMain.class.getResource("")+"java.ico");
// 弹出菜单
PopupMenu popupMenu = new PopupMenu();
MenuItem exitItem = new MenuItem("关闭");
exitItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try
{
System.exit(0);
}
catch(Exception ex)
{
l_status.setText("错误:" + e);
}
}
});
popupMenu.add(exitItem);
TrayIcon trayIcon = new TrayIcon(image, "无线鼠标", popupMenu); try
{
// 将TrayIcon添加到 SystemTray
tray.add(trayIcon);
}
catch(AWTException e)
{
l_status.setText("错误:" + e);
}
}
}运行后托盘空出了一片空白,鼠标点在上面有菜单,但是图片没有显示出来,这是怎么回事呢?java.ico是一个8*8的ico图标。
Type: bmp
Type: jpg
Type: wbmp
Type: jpeg
Type: png
Type: gifico不支持
System.out.println(Arrays.toString(ImageIO.getWriterFormatNames()));
得到可写的图像格式
System.out.println(Arrays.toString(ImageIO.getReaderFormatNames()));
得到可读的图像格式
[jpg, BMP, bmp, JPG, wbmp, jpeg, png, JPEG, PNG, WBMP, GIF, gif]