GP-4621 fix tooltip hover of dialog status message when html

This commit is contained in:
dev747368 2024-05-22 15:54:25 +00:00
parent 982dc01eb7
commit 573d60b036
2 changed files with 16 additions and 9 deletions

View file

@ -800,15 +800,10 @@ public class DialogComponentProvider
* If the status message fits then there is no tool tip.
*/
private void updateStatusToolTip() {
String text = statusLabel.getText();
// Get the width of the message.
FontMetrics fm = statusLabel.getFontMetrics(statusLabel.getFont());
int messageWidth = 0;
if ((fm != null) && (text != null)) {
messageWidth = fm.stringWidth(text);
}
if (messageWidth > statusLabel.getWidth()) {
statusLabel.setToolTipText(text);
Dimension preferredSize = statusLabel.getPreferredSize();
Dimension size = statusLabel.getSize();
if (preferredSize.width > size.width || preferredSize.height > size.height) {
statusLabel.setToolTipText(statusLabel.getOriginalText());
}
else {
statusLabel.setToolTipText(null);

View file

@ -76,6 +76,18 @@ public abstract class AbstractHtmlLabel extends JLabel
updateHtmlView();
}
/**
* Returns the original text of the label.
* <p>
* The {@link #getText()} method for this class can return a value that is missing the leading
* &lt;html&gt; tag.
*
* @return text of this label
*/
public String getOriginalText() {
return isHtml ? HTML_TAG + getText() : getText();
}
@Override
public void updateUI() {
super.updateUI();