30 import java.awt.peer.TrayIconPeer;
31 import sun.awt.*;
32 import java.awt.image.*;
33 import java.text.BreakIterator;
34 import java.util.logging.Logger;
35 import java.util.logging.Level;
36 import java.util.concurrent.ArrayBlockingQueue;
37 import java.security.AccessController;
38 import java.security.PrivilegedAction;
39 import java.lang.reflect.InvocationTargetException;
40
41 /**
42 * An utility window class. This is a base class for Tooltip and Balloon.
43 */
44 public abstract class InfoWindow extends Window {
45 private Container container;
46 private Closer closer;
47
48 protected InfoWindow(Frame parent, Color borderColor) {
49 super(parent);
50 container = new Container() {
51 @Override
52 public Insets getInsets() {
53 return new Insets(1, 1, 1, 1);
54 }
55 };
56 setLayout(new BorderLayout());
57 setBackground(borderColor);
58 add(container, BorderLayout.CENTER);
59 container.setLayout(new BorderLayout());
60
61 closer = new Closer();
62 }
63
64 public Component add(Component c) {
65 container.add(c, BorderLayout.CENTER);
66 return c;
67 }
68
69 protected void setCloser(Runnable action, int time) {
|
30 import java.awt.peer.TrayIconPeer;
31 import sun.awt.*;
32 import java.awt.image.*;
33 import java.text.BreakIterator;
34 import java.util.logging.Logger;
35 import java.util.logging.Level;
36 import java.util.concurrent.ArrayBlockingQueue;
37 import java.security.AccessController;
38 import java.security.PrivilegedAction;
39 import java.lang.reflect.InvocationTargetException;
40
41 /**
42 * An utility window class. This is a base class for Tooltip and Balloon.
43 */
44 public abstract class InfoWindow extends Window {
45 private Container container;
46 private Closer closer;
47
48 protected InfoWindow(Frame parent, Color borderColor) {
49 super(parent);
50 setType(Window.Type.POPUP);
51 container = new Container() {
52 @Override
53 public Insets getInsets() {
54 return new Insets(1, 1, 1, 1);
55 }
56 };
57 setLayout(new BorderLayout());
58 setBackground(borderColor);
59 add(container, BorderLayout.CENTER);
60 container.setLayout(new BorderLayout());
61
62 closer = new Closer();
63 }
64
65 public Component add(Component c) {
66 container.add(c, BorderLayout.CENTER);
67 return c;
68 }
69
70 protected void setCloser(Runnable action, int time) {
|