Methods Summary |
---|
private void | componentChanged(javax.swing.JComponent c)Invoked when the JCompoment associated with the
JToolTip has changed, or at initialization time. This
should update any state dependant upon the JComponent .
JComponent comp = ((JToolTip)c).getComponent();
if (comp != null && !(comp.isEnabled())) {
// For better backward compatability, only install inactive
// properties if they are defined.
if (UIManager.getBorder("ToolTip.borderInactive") != null) {
LookAndFeel.installBorder(c, "ToolTip.borderInactive");
}
else {
LookAndFeel.installBorder(c, "ToolTip.border");
}
if (UIManager.getColor("ToolTip.backgroundInactive") != null) {
LookAndFeel.installColors(c,"ToolTip.backgroundInactive",
"ToolTip.foregroundInactive");
}
else {
LookAndFeel.installColors(c,"ToolTip.background",
"ToolTip.foreground");
}
} else {
LookAndFeel.installBorder(c, "ToolTip.border");
LookAndFeel.installColors(c, "ToolTip.background",
"ToolTip.foreground");
}
|
private java.beans.PropertyChangeListener | createPropertyChangeListener(javax.swing.JComponent c)
if (sharedPropertyChangedListener == null) {
sharedPropertyChangedListener = new PropertyChangeHandler();
}
return sharedPropertyChangedListener;
|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent c)
return sharedInstance;
|
public java.awt.Dimension | getMaximumSize(javax.swing.JComponent c)
Dimension d = getPreferredSize(c);
View v = (View) c.getClientProperty(BasicHTML.propertyKey);
if (v != null) {
d.width += v.getMaximumSpan(View.X_AXIS) - v.getPreferredSpan(View.X_AXIS);
}
return d;
|
public java.awt.Dimension | getMinimumSize(javax.swing.JComponent c)
Dimension d = getPreferredSize(c);
View v = (View) c.getClientProperty(BasicHTML.propertyKey);
if (v != null) {
d.width -= v.getPreferredSpan(View.X_AXIS) - v.getMinimumSpan(View.X_AXIS);
}
return d;
|
public java.awt.Dimension | getPreferredSize(javax.swing.JComponent c)
Font font = c.getFont();
FontMetrics fm = c.getFontMetrics(font);
Insets insets = c.getInsets();
Dimension prefSize = new Dimension(insets.left+insets.right,
insets.top+insets.bottom);
String text = ((JToolTip)c).getTipText();
if ((text == null) || text.equals("")) {
text = "";
}
else {
View v = (c != null) ? (View) c.getClientProperty("html") : null;
if (v != null) {
prefSize.width += (int) v.getPreferredSpan(View.X_AXIS) + 6;
prefSize.height += (int) v.getPreferredSpan(View.Y_AXIS);
} else {
prefSize.width += SwingUtilities2.stringWidth(c,fm,text) + 6;
prefSize.height += fm.getHeight();
}
}
return prefSize;
|
private void | installComponents(javax.swing.JComponent c)
BasicHTML.updateRenderer(c, ((JToolTip)c).getTipText());
|
protected void | installDefaults(javax.swing.JComponent c)
LookAndFeel.installColorsAndFont(c, "ToolTip.background",
"ToolTip.foreground",
"ToolTip.font");
LookAndFeel.installProperty(c, "opaque", Boolean.TRUE);
componentChanged(c);
|
protected void | installListeners(javax.swing.JComponent c)
propertyChangeListener = createPropertyChangeListener(c);
c.addPropertyChangeListener(propertyChangeListener);
|
public void | installUI(javax.swing.JComponent c)
installDefaults(c);
installComponents(c);
installListeners(c);
|
public void | paint(java.awt.Graphics g, javax.swing.JComponent c)
Font font = c.getFont();
FontMetrics metrics = SwingUtilities2.getFontMetrics(c, g, font);
Dimension size = c.getSize();
g.setColor(c.getForeground());
// fix for bug 4153892
String tipText = ((JToolTip)c).getTipText();
if (tipText == null) {
tipText = "";
}
Insets insets = c.getInsets();
Rectangle paintTextR = new Rectangle(
insets.left + 3,
insets.top,
size.width - (insets.left + insets.right) - 6,
size.height - (insets.top + insets.bottom));
View v = (View) c.getClientProperty(BasicHTML.propertyKey);
if (v != null) {
v.paint(g, paintTextR);
} else {
g.setFont(font);
SwingUtilities2.drawString(c, g, tipText, paintTextR.x,
paintTextR.y + metrics.getAscent());
}
|
private void | uninstallComponents(javax.swing.JComponent c)
BasicHTML.updateRenderer(c, "");
|
protected void | uninstallDefaults(javax.swing.JComponent c)
LookAndFeel.uninstallBorder(c);
|
protected void | uninstallListeners(javax.swing.JComponent c)
c.removePropertyChangeListener(propertyChangeListener);
propertyChangeListener = null;
|
public void | uninstallUI(javax.swing.JComponent c)
// REMIND: this is NOT getting called
uninstallDefaults(c);
uninstallComponents(c);
uninstallListeners(c);
|