zsh_root
2024-01-02 7b595546af704983dbafcd0d385c8768ddacefc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package PbuliClass;
import java.awt.Dimension;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.Timer;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.ActionEvent;
/**¸ÃÀàÓÃÓÚʵÏÖÓÒϽǵĵ¯´°ÌáÐѹ¦ÄÜ*/
public class PopTiP extends JFrame  {
    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private PopWindow window;
    private Timer timer;
    private Point location;
    private Dimension screenSize;
    private Dimension windowSize;
    
    static boolean poptip=true;
   
    public PopTiP(String text) {
        window = new PopWindow(text);
        window.addMouseListener(new MouseListener() {
            public void mouseReleased(MouseEvent e) {
                
            }
            
            @Override
            public void mousePressed(MouseEvent e) {
                // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
                poptip=true;                
            }
            
            @Override
            public void mouseExited(MouseEvent e) {
                // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
                
            }
            
            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
                
            }
            
            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
                
                
            }
        });
   
             // ´´½¨Timer¿Ø¼þ
        timer = new Timer(1, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                location.y -= 1;// ÌáÉýÐÅÏ¢´°Ìå´¹Ö±×ø±ê
                // ÔÚÐÅÏ¢´°ÌåÏÔʾ¶øÇÒûÓдﵽÉÏÉýλÖÃ֮ǰ³ÖÐøÒÆ¶¯´°Ìå
                if (window.isShowing()&& location.y > screenSize.height - windowSize.height)
                    window.setLocation(location);
                else {// ´°ÌåδÏÔʾ»ò³¬³öÒÆ¶¯·¶Î§Í£Ö¹
                    Timer source = (Timer) e.getSource();
                    source.stop();
                }
            }
        });
        screenSize = getToolkit().getScreenSize();// »ñÈ¡ÆÁÄ»´óС
        window.setVisible(true);// ÏÔʾÐÅÏ¢´°Ìå
        window.setAlwaysOnTop(true);// °ÑÐÅÏ¢´°ÌåÖö¥
        windowSize = window.getSize();// »ñÈ¡ÐÅÏ¢´°Ìå´óС
        location = new Point();// ´´½¨Î»ÖöÔÏó
        location.x = screenSize.width - windowSize.width-50;// ³õʼ»¯´°ÌåλÖÃ
        location.y = screenSize.height-50;
        timer.start();// Æô¶¯Timer¿Ø¼þ
       
    }
 
 
    public static boolean isPoptip() {
        return poptip;
    }
 
    public static void setPoptip(boolean poptip) {
        PopTiP.poptip = poptip;
    } 
}