W3cubDocs

/OpenJDK 21

Class SynthGraphicsUtils

java.lang.Object
javax.swing.plaf.synth.SynthGraphicsUtils
public class SynthGraphicsUtils extends Object
Wrapper for primitive graphics calls.
Since:
1.5

Constructor Summary

Constructor Description
SynthGraphicsUtils()
Creates a SynthGraphicsUtils.

Method Summary

Modifier and Type Method Description
int computeStringWidth(SynthContext ss, Font font, FontMetrics metrics, String text)
Returns the size of the passed in string.
void drawLine(SynthContext context, Object paintKey, Graphics g, int x1, int y1, int x2, int y2)
Draws a line between the two end points.
void drawLine(SynthContext context, Object paintKey, Graphics g, int x1, int y1, int x2, int y2, Object styleKey)
Draws a line between the two end points.
static int getIconHeight(Icon icon, SynthContext context)
Returns the icon's height.
static int getIconWidth(Icon icon, SynthContext context)
Returns the icon's width.
int getMaximumCharHeight(SynthContext context)
Returns the maximum height of the Font from the passed in SynthContext.
Dimension getMaximumSize(SynthContext ss, Font font, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex)
Returns the maximum size needed to properly render an icon and text.
Dimension getMinimumSize(SynthContext ss, Font font, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex)
Returns the minimum size needed to properly render an icon and text.
Dimension getPreferredSize(SynthContext ss, Font font, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex)
Returns the preferred size needed to properly render an icon and text.
String layoutText(SynthContext ss, FontMetrics fm, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int iconTextGap)
Lays out text and an icon returning, by reference, the location to place the icon and text.
static void paintIcon(Icon icon, SynthContext context, Graphics g, int x, int y, int width, int height)
Paints the icon.
void paintText(SynthContext ss, Graphics g, String text, int x, int y, int mnemonicIndex)
Paints text at the specified location.
void paintText(SynthContext ss, Graphics g, String text, Rectangle bounds, int mnemonicIndex)
Paints text at the specified location.
void paintText(SynthContext ss, Graphics g, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex, int textOffset)
Paints an icon and text.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

SynthGraphicsUtils

public SynthGraphicsUtils()
Creates a SynthGraphicsUtils.

Method Details

drawLine

public void drawLine(SynthContext context, Object paintKey, Graphics g, int x1, int y1, int x2, int y2)
Draws a line between the two end points.
Parameters:
context - Identifies hosting region.
paintKey - Identifies the portion of the component being asked to paint, may be null.
g - Graphics object to paint to
x1 - x origin
y1 - y origin
x2 - x destination
y2 - y destination

drawLine

public void drawLine(SynthContext context, Object paintKey, Graphics g, int x1, int y1, int x2, int y2, Object styleKey)
Draws a line between the two end points.

This implementation supports only one line style key, "dashed". The "dashed" line style is applied only to vertical and horizontal lines.

Specifying null or any key different from "dashed" will draw solid lines.

Parameters:
context - identifies hosting region
paintKey - identifies the portion of the component being asked to paint, may be null
g - Graphics object to paint to
x1 - x origin
y1 - y origin
x2 - x destination
y2 - y destination
styleKey - identifies the requested style of the line (e.g. "dashed")
Since:
1.6

layoutText

public String layoutText(SynthContext ss, FontMetrics fm, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int iconTextGap)
Lays out text and an icon returning, by reference, the location to place the icon and text.
Parameters:
ss - SynthContext
fm - FontMetrics for the Font to use, this may be ignored
text - Text to layout
icon - Icon to layout
hAlign - horizontal alignment
vAlign - vertical alignment
hTextPosition - horizontal text position
vTextPosition - vertical text position
viewR - Rectangle to layout text and icon in.
iconR - Rectangle to place icon bounds in
textR - Rectangle to place text in
iconTextGap - gap between icon and text
Returns:
by reference, the location to place the icon and text.

computeStringWidth

public int computeStringWidth(SynthContext ss, Font font, FontMetrics metrics, String text)
Returns the size of the passed in string.
Parameters:
ss - SynthContext
font - Font to use
metrics - FontMetrics, may be ignored
text - Text to get size of.
Returns:
the size of the passed in string.

getMinimumSize

public Dimension getMinimumSize(SynthContext ss, Font font, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex)
Returns the minimum size needed to properly render an icon and text.
Parameters:
ss - SynthContext
font - Font to use
text - Text to layout
icon - Icon to layout
hAlign - horizontal alignment
vAlign - vertical alignment
hTextPosition - horizontal text position
vTextPosition - vertical text position
iconTextGap - gap between icon and text
mnemonicIndex - Index into text to render the mnemonic at, -1 indicates no mnemonic.
Returns:
the minimum size needed to properly render an icon and text.

getMaximumSize

public Dimension getMaximumSize(SynthContext ss, Font font, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex)
Returns the maximum size needed to properly render an icon and text.
Parameters:
ss - SynthContext
font - Font to use
text - Text to layout
icon - Icon to layout
hAlign - horizontal alignment
vAlign - vertical alignment
hTextPosition - horizontal text position
vTextPosition - vertical text position
iconTextGap - gap between icon and text
mnemonicIndex - Index into text to render the mnemonic at, -1 indicates no mnemonic.
Returns:
the maximum size needed to properly render an icon and text.

getMaximumCharHeight

public int getMaximumCharHeight(SynthContext context)
Returns the maximum height of the Font from the passed in SynthContext.
Parameters:
context - SynthContext used to determine font.
Returns:
maximum height of the characters for the font from the passed in context.

getPreferredSize

public Dimension getPreferredSize(SynthContext ss, Font font, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex)
Returns the preferred size needed to properly render an icon and text.
Parameters:
ss - SynthContext
font - Font to use
text - Text to layout
icon - Icon to layout
hAlign - horizontal alignment
vAlign - vertical alignment
hTextPosition - horizontal text position
vTextPosition - vertical text position
iconTextGap - gap between icon and text
mnemonicIndex - Index into text to render the mnemonic at, -1 indicates no mnemonic.
Returns:
the preferred size needed to properly render an icon and text.

paintText

public void paintText(SynthContext ss, Graphics g, String text, Rectangle bounds, int mnemonicIndex)
Paints text at the specified location. This will not attempt to render the text as html nor will it offset by the insets of the component.
Parameters:
ss - SynthContext
g - Graphics used to render string in.
text - Text to render
bounds - Bounds of the text to be drawn.
mnemonicIndex - Index to draw string at.

paintText

public void paintText(SynthContext ss, Graphics g, String text, int x, int y, int mnemonicIndex)
Paints text at the specified location. This will not attempt to render the text as html nor will it offset by the insets of the component.
Parameters:
ss - SynthContext
g - Graphics used to render string in.
text - Text to render
x - X location to draw text at.
y - Upper left corner to draw text at.
mnemonicIndex - Index to draw string at.

paintText

public void paintText(SynthContext ss, Graphics g, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex, int textOffset)
Paints an icon and text. This will render the text as html, if necessary, and offset the location by the insets of the component.
Parameters:
ss - SynthContext
g - Graphics to render string and icon into
text - Text to layout
icon - Icon to layout
hAlign - horizontal alignment
vAlign - vertical alignment
hTextPosition - horizontal text position
vTextPosition - vertical text position
iconTextGap - gap between icon and text
mnemonicIndex - Index into text to render the mnemonic at, -1 indicates no mnemonic.
textOffset - Amount to offset the text when painting

getIconWidth

public static int getIconWidth(Icon icon, SynthContext context)
Returns the icon's width. The getIconWidth(context) method is called for SynthIcon.
Parameters:
icon - the icon
context - SynthContext requesting the icon, may be null.
Returns:
an int specifying the width of the icon.

getIconHeight

public static int getIconHeight(Icon icon, SynthContext context)
Returns the icon's height. The getIconHeight(context) method is called for SynthIcon.
Parameters:
icon - the icon
context - SynthContext requesting the icon, may be null.
Returns:
an int specifying the height of the icon.

paintIcon

public static void paintIcon(Icon icon, SynthContext context, Graphics g, int x, int y, int width, int height)
Paints the icon. The paintIcon(context, g, x, y, width, height) method is called for SynthIcon.
Parameters:
icon - the icon
context - identifies hosting region, may be null.
g - the graphics context
x - the x location to paint to
y - the y location to paint to
width - the width of the region to paint to, may be 0
height - the height of the region to paint to, may be 0

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/plaf/synth/SynthGraphicsUtils.html