TextField now honours right component inset

If the placeholder can't be drawn fully, we clip it by adding an
ellipse.
This commit is contained in:
Niklas
2020-12-23 09:26:30 +01:00
parent 073a25f381
commit 9e4940228d

View File

@@ -39,6 +39,7 @@ import javax.swing.text.Caret;
import javax.swing.text.JTextComponent; import javax.swing.text.JTextComponent;
import com.formdev.flatlaf.FlatClientProperties; import com.formdev.flatlaf.FlatClientProperties;
import com.formdev.flatlaf.util.HiDPIUtils; import com.formdev.flatlaf.util.HiDPIUtils;
import com.formdev.flatlaf.util.JavaCompatibility;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JTextField}. * Provides the Flat LaF UI delegate for {@link javax.swing.JTextField}.
@@ -213,7 +214,9 @@ public class FlatTextFieldUI
// paint placeholder // paint placeholder
g.setColor( placeholderForeground ); g.setColor( placeholderForeground );
FlatUIUtils.drawString( c, g, (String) placeholder, x, y ); String clippedPlaceholder = JavaCompatibility.getClippedString( jc, fm,
(String) placeholder, c.getWidth() - insets.left - insets.right );
FlatUIUtils.drawString( c, g, clippedPlaceholder, x, y );
} }
@Override @Override