javax.swing.plaf.basic.BasicButtonUI uses wrong FontMetrics object to layout the text on a JButton. The paint(Graphics, JComponent) method of BasicButtonUI calculates the [FontMetrics](https://github.com/openjdk/jdk/blob/6656254c346ef505a48652fdf4dedd6edc020e33/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java#L331) using the passed Graphics object without setting the buttons font before. If the buttons font varies from the currently set font of the passed graphics object, the font metrics do not fit the metrics of the expected font leading to truncated text on the button. In WindowsLookAndFeel, the font in passed graphics object differs from currently set font as in
button font javax.swing.plaf.FontUIResource[family=Tahoma,name=Tahoma,style=plain,size=10] graphics font java.awt.Font[family=Dialog,name=Dialog,style=plain,size=12] whereas in Metal and other L&F it is `font javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=bold,size=12]` so the fix is made in Windows L&F to ensure to set the font of the button to the passed graphics object font before calculating the current FontMetrics. ------------- Commit messages: - whitespace - 6734168: BasicButtonUI uses wrong FontMetrics to Layout JButtons text - 6734168: BasicButtonUI uses wrong FontMetrics to Layout JButtons text Changes: https://git.openjdk.org/jdk/pull/24152/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24152&range=00 Issue: https://bugs.openjdk.org/browse/JDK-6734168 Stats: 117 lines in 2 files changed: 116 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/24152.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24152/head:pull/24152 PR: https://git.openjdk.org/jdk/pull/24152