最近在研究最小化的使用,于是自己一直在弄。
终于修正了所以错误eclipse下面能编译运行了,打包成JAR就运行不了了???
果断上图
在eclipse下按下按钮之后
然而打包成JAR后,按下按钮就没反应了请问这到底是为什么?
附代码
import javax.swing.*;
import java .awt . *;
import java .awt . event . * ;class TrayTest
{
    private TrayIcon trayIcon = null;
    private SystemTray tray = null;
    JFrame f1;
    
    public static void main(String[] args) {
        new TrayTest();
    }
    public TrayTest(){
         f1 = new JFrame("TrayTest");
        f1.setSize(500, 500);
        f1.setVisible(true);
        f1.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ;
         Button b = new Button("Minimize");
         f1.add(b, "North");
         
         
         b.addMouseListener ( new MouseAdapter () {  
            public void mouseClicked ( MouseEvent e ) {
             try {
                  tray.add(trayIcon); // 将托盘图标添加到系统的托盘实例中
                  f1.dispose(); // 使窗口不可视
                 } catch (AWTException ex) {
                  ex.printStackTrace();
                 }
            }
        }) ;

         
if (SystemTray.isSupported()) { // 如果操作系统支持托盘
   this.tray();
  }
    }
    
    
    
    public void tray() {   tray = SystemTray.getSystemTray(); 
  ImageIcon icon = new ImageIcon(this.getClass().getResource("/")
    .getPath()
    + "123.gif");    PopupMenu pop = new PopupMenu(); // 构造一个右键弹出式菜单
  MenuItem show = new MenuItem("打开程序");
  MenuItem exit = new MenuItem("退出程序");
  pop.add(show);
  pop.add(exit);
  trayIcon = new TrayIcon(icon.getImage(), "TEST", pop);   /**
   * 添加鼠标监听器,当鼠标在托盘图标上双击时,默认显示窗口
   */
  trayIcon.addMouseListener(new MouseAdapter() {
   public void mouseClicked(MouseEvent e) {
    if (e.getClickCount() == 2) { // 鼠标双击
     tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标
     f1.setExtendedState(JFrame.NORMAL);
     f1.setVisible(true); // 显示窗口
     f1.toFront();
    }
   }
  });
  
  show.addActionListener(new ActionListener() { // 点击“显示窗口”菜单后将窗口显示出来
     public void actionPerformed(ActionEvent e) {
      tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标
      f1.setExtendedState(JFrame.NORMAL);
      f1.setVisible(true); // 显示窗口
      f1.toFront();
     }
    });
  
  
  exit.addActionListener(new ActionListener() { // 点击“退出演示”菜单后退出程序
     public void actionPerformed(ActionEvent e) {
      System.exit(0); // 退出程序
     }
    });
  }
最小化    eclipseJAR