HTML: Fixed font sizes for HTML tags <h1>...<h6>, <code>, <kbd>, <big>, <small> and <samp> in HTML text for components Button, CheckBox, RadioButton, MenuItem (and subclasses), JideLabel, JideButton, JXBusyLabel and JXHyperlink. Also fixed for Label and ToolTip if using Java 11+.

This commit is contained in:
Karl Tauber
2024-05-29 18:57:45 +02:00
parent a54aeb3838
commit 261d2b1fe8
16 changed files with 557 additions and 198 deletions

View File

@@ -18,6 +18,7 @@ package com.formdev.flatlaf.swingx.ui;
import java.awt.Color;
import java.awt.Graphics;
import java.beans.PropertyChangeEvent;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.UIManager;
@@ -25,6 +26,7 @@ import javax.swing.plaf.ComponentUI;
import org.jdesktop.swingx.JXBusyLabel;
import org.jdesktop.swingx.plaf.basic.BasicBusyLabelUI;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.ui.FlatHTML;
import com.formdev.flatlaf.ui.FlatUIUtils;
//TODO scale busy spinner
@@ -70,6 +72,20 @@ public class FlatBusyLabelUI
disabledForeground = null;
}
@Override
protected void installComponents( JLabel c ) {
super.installComponents( c );
// update HTML renderer if necessary
FlatHTML.updateRendererCSSFontBaseSize( c );
}
@Override
public void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );
FlatHTML.propertyChange( e );
}
@Override
protected void paintDisabledText( JLabel l, Graphics g, String s, int textX, int textY ) {
int mnemIndex = FlatLaf.isShowMnemonics() ? l.getDisplayedMnemonicIndex() : -1;

View File

@@ -21,12 +21,15 @@ import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.Rectangle2D;
import java.beans.PropertyChangeEvent;
import javax.swing.AbstractButton;
import javax.swing.JComponent;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicButtonListener;
import org.jdesktop.swingx.plaf.basic.BasicHyperlinkUI;
import com.formdev.flatlaf.ui.FlatButtonUI;
import com.formdev.flatlaf.ui.FlatHTML;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.UIScale;
@@ -60,6 +63,11 @@ public class FlatHyperlinkUI
disabledText = null;
}
@Override
protected BasicButtonListener createButtonListener( AbstractButton b ) {
return new FlatHyperlinkListener( b );
}
@Override
protected void paintText( Graphics g, AbstractButton b, Rectangle textRect, String text ) {
FlatButtonUI.paintText( g, b, textRect, text, b.isEnabled() ? b.getForeground() : disabledText );
@@ -79,4 +87,21 @@ public class FlatHyperlinkUI
FlatUIUtils.resetRenderingHints( g, oldRenderingHints );
}
//---- class FlatHyperlinkListener ----------------------------------------
/** @since 3.5 */
protected class FlatHyperlinkListener
extends BasicHyperlinkListener
{
protected FlatHyperlinkListener( AbstractButton b ) {
super( b );
}
@Override
public void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );
FlatHTML.propertyChange( e );
}
}
}