com.jidesoft.swing.StyledToolTip Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jide-oss Show documentation
Show all versions of jide-oss Show documentation
JIDE Common Layer (Professional Swing Components)
/*
* @(#)StyledToolTip.java 1/12/2012
*
* Copyright 2002 - 2012 JIDE Software Inc. All rights reserved.
*/
package com.jidesoft.swing;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.Border;
/**
* A Tooltip that could receives StyledLabel annotations.
*
* @since 3.3.4
*/
public class StyledToolTip extends JToolTip {
private final StyledLabel label = new StyledLabel();
public StyledToolTip() {
label.setHorizontalTextPosition(JLabel.CENTER);
label.setVerticalTextPosition(JLabel.CENTER);
setLayout(new BorderLayout());
add(label);
}
@Override
public void setBorder(Border border) {
if (border == null) {
super.setBorder(null);
}
else {
super.setBorder(BorderFactory.createCompoundBorder(border, BorderFactory.createEmptyBorder(1, 1, 1, 1)));
}
}
@Override
public Dimension getPreferredSize() {
if(getTipText() != null) {
Insets insets = getInsets();
Dimension size = label.getPreferredSize();
size.width += insets.left + insets.right;
size.height += insets.top + insets.bottom;
return size;
}
return super.getPreferredSize();
}
@Override
public void setTipText(String tipText) {
super.setTipText(tipText != null ? "" : null);
StyledLabelBuilder.setStyledText(label, tipText != null ? tipText : "");
revalidate();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy