/**
*
*/
package javax.swing.origamist;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.Icon;
import javax.swing.JLabel;
/**
* A label copying its value to its tooltip.
*
* @author Martin Pecka
*/
public class JLabelHandlingTooltip extends JLabel
{
/** */
private static final long serialVersionUID = 5548585264640535623L;
{
PropertyChangeListener l = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt)
{
setToolTipText(decorateTooltipText(getText()));
}
};
addPropertyChangeListener("text", l);
l.propertyChange(new PropertyChangeEvent(this, "text", null, getText()));
}
/**
*
*/
public JLabelHandlingTooltip()
{
super();
}
/**
* @param image
* @param horizontalAlignment
*/
public JLabelHandlingTooltip(Icon image, int horizontalAlignment)
{
super(image, horizontalAlignment);
}
/**
* @param image
*/
public JLabelHandlingTooltip(Icon image)
{
super(image);
}
/**
* @param text
* @param icon
* @param horizontalAlignment
*/
public JLabelHandlingTooltip(String text, Icon icon, int horizontalAlignment)
{
super(text, icon, horizontalAlignment);
}
/**
* @param text
* @param horizontalAlignment
*/
public JLabelHandlingTooltip(String text, int horizontalAlignment)
{
super(text, horizontalAlignment);
}
/**
* @param text
*/
public JLabelHandlingTooltip(String text)
{
super(text);
}
/**
* Format the text to be shown in tooltip.
*
* This implementation does nothing to the text.
*
* @param text The text to format.
* @return The formatted text.
*/
protected String decorateTooltipText(String text)
{
return text;
}
}