KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sshtools > ui > awt > tooltips > ToolTipManager


1 /*
2  */

3 package com.sshtools.ui.awt.tooltips;
4
5 import java.awt.Color JavaDoc;
6 import java.awt.Component JavaDoc;
7 import java.awt.Frame JavaDoc;
8
9 /**
10  *
11  */

12 public class ToolTipManager {
13
14     private static ToolTipManager instance;
15     private WaitThread waitThread;
16     private boolean enabled;
17
18     Color JavaDoc foreground, background;
19     private static Frame JavaDoc sharedFrame;
20
21     static {
22         // #ifdef JAVA1
23
/*
24          * Frame[] f = null;
25          */

26
27         // #else
28
Frame JavaDoc[] f = Frame.getFrames();
29         // #endif
30
sharedFrame = f != null && f.length > 0 ? f[0] : new Frame JavaDoc();
31     }
32
33     private ToolTipManager() {
34         foreground = Color.black;
35         background = new Color JavaDoc(0xfe, 0xff, 0xc6);
36         enabled = true;
37     }
38
39     public Frame JavaDoc getSharedFrame() {
40         return sharedFrame;
41     }
42
43     public void setSharedFrame(Frame JavaDoc frame) {
44         if (frame == null) {
45             // #ifdef JAVA1
46
/*
47              * Frame[] f = null;
48              */

49
50             // #else
51
Frame JavaDoc[] f = Frame.getFrames();
52             // #endif
53
sharedFrame = f != null && f.length > 0 ? f[0] : new Frame JavaDoc();
54         } else {
55             sharedFrame = frame;
56         }
57
58         // Clear the current popup
59
if (waitThread != null) {
60             waitThread.dismissToolTip();
61         }
62     }
63
64     public void setEnabled(boolean enabled) {
65         this.enabled = enabled;
66     }
67
68     public synchronized void requestToolTip(Component JavaDoc component, String JavaDoc text) {
69         requestToolTip(component, -1, -1, text);
70     }
71
72     public synchronized void requestToolTip(Component JavaDoc component, int x, int y, String JavaDoc text) {
73         if (enabled) {
74             if (waitThread == null) {
75                 waitThread = new WaitThread();
76                 waitThread.start();
77             }
78             waitThread.requestToolTip(component, x, y, text);
79         }
80     }
81
82     public void setToolTipBackground(Color JavaDoc background) {
83         this.background = background;
84     }
85
86     public void setToolTipForeground(Color JavaDoc foreground) {
87         this.foreground = foreground;
88     }
89
90     public static ToolTipManager getInstance() {
91         if (instance == null) {
92             instance = new ToolTipManager();
93         }
94         return instance;
95     }
96
97     /**
98      *
99      */

100     public void hide() {
101         if (waitThread != null) {
102             waitThread.dismissToolTip();
103         }
104     }
105 }
Popular Tags