- java.lang.Object
-
- javax.swing.plaf.basic.BasicGraphicsUtils
-
public class BasicGraphicsUtils extends Object
Convenient util class.
-
-
Constructor Summary
Constructors Constructor Description BasicGraphicsUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddrawBezel(Graphics g, int x, int y, int w, int h, boolean isPressed, boolean isDefault, Color shadow, Color darkShadow, Color highlight, Color lightHighlight)Draws a bezel.static voiddrawDashedRect(Graphics g, int x, int y, int width, int height)Draws dashed rectangle.static voiddrawEtchedRect(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight)Draws an etched rectangle.static voiddrawGroove(Graphics g, int x, int y, int w, int h, Color shadow, Color highlight)Draws a groove.static voiddrawLoweredBezel(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight)Draws a lowered bezel.static voiddrawString(Graphics g, String text, int underlinedChar, int x, int y)Draw a string with the graphicsgat location (x,y) just likeg.drawStringwould.static voiddrawString(JComponent c, Graphics2D g, String string, float x, float y)Draws the given string at the specified location using text properties and anti-aliasing hints from the provided component.static voiddrawStringUnderlineCharAt(Graphics g, String text, int underlinedIndex, int x, int y)Draw a string with the graphicsgat location (x,y) just likeg.drawStringwould.static voiddrawStringUnderlineCharAt(JComponent c, Graphics2D g, String string, int underlinedIndex, float x, float y)Draws the given string at the specified location underlining the specified character.static StringgetClippedString(JComponent c, FontMetrics fm, String string, int availTextWidth)Clips the passed in string to the space provided.static InsetsgetEtchedInsets()Returns the amount of space taken up by a border drawn bydrawEtchedRect()static InsetsgetGrooveInsets()Returns the amount of space taken up by a border drawn bydrawGroove()static DimensiongetPreferredButtonSize(AbstractButton b, int textIconGap)Returns the preferred size of the button.static floatgetStringWidth(JComponent c, FontMetrics fm, String string)Returns the width of the passed in string using text properties and anti-aliasing hints from the provided component.
-
-
-
Method Detail
-
drawEtchedRect
public static void drawEtchedRect(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight)
Draws an etched rectangle.- Parameters:
g- an instance ofGraphicsx- an X coordinatey- an Y coordinatew- a widthh- a heightshadow- a color of shadowdarkShadow- a color of dark shadowhighlight- a color highlightinglightHighlight- a color of light highlighting
-
getEtchedInsets
public static Insets getEtchedInsets()
Returns the amount of space taken up by a border drawn bydrawEtchedRect()- Returns:
- the inset of an etched rect
-
drawGroove
public static void drawGroove(Graphics g, int x, int y, int w, int h, Color shadow, Color highlight)
Draws a groove.- Parameters:
g- an instance ofGraphicsx- an X coordinatey- an Y coordinatew- a widthh- a heightshadow- a color of shadowhighlight- a color highlighting
-
getGrooveInsets
public static Insets getGrooveInsets()
Returns the amount of space taken up by a border drawn bydrawGroove()- Returns:
- the inset of a groove border
-
drawBezel
public static void drawBezel(Graphics g, int x, int y, int w, int h, boolean isPressed, boolean isDefault, Color shadow, Color darkShadow, Color highlight, Color lightHighlight)
Draws a bezel.- Parameters:
g- an instance ofGraphicsx- an X coordinatey- an Y coordinatew- a widthh- a heightisPressed- is component pressedisDefault- is default drawingshadow- a color of shadowdarkShadow- a color of dark shadowhighlight- a color highlightinglightHighlight- a color of light highlighting
-
drawLoweredBezel
public static void drawLoweredBezel(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight)
Draws a lowered bezel.- Parameters:
g- an instance ofGraphicsx- an X coordinatey- an Y coordinatew- a widthh- a heightshadow- a color of shadowdarkShadow- a color of dark shadowhighlight- a color highlightinglightHighlight- a color of light highlighting
-
drawString
public static void drawString(Graphics g, String text, int underlinedChar, int x, int y)
Draw a string with the graphicsgat location (x,y) just likeg.drawStringwould. The first occurrence ofunderlineCharin text will be underlined. The matching algorithm is not case sensitive.- Parameters:
g- an instance ofGraphicstext- a textunderlinedChar- an underlined charx- an X coordinatey- an Y coordinate
-
drawStringUnderlineCharAt
public static void drawStringUnderlineCharAt(Graphics g, String text, int underlinedIndex, int x, int y)
Draw a string with the graphicsgat location (x,y) just likeg.drawStringwould. The character at indexunderlinedIndexin text will be underlined. Ifindexis beyond the bounds oftext(including < 0), nothing will be underlined.- Parameters:
g- Graphics to draw withtext- String to drawunderlinedIndex- Index of character in text to underlinex- x coordinate to draw aty- y coordinate to draw at- Since:
- 1.4
-
drawDashedRect
public static void drawDashedRect(Graphics g, int x, int y, int width, int height)
Draws dashed rectangle.- Parameters:
g- an instance ofGraphicsx- an X coordinatey- an Y coordinatewidth- a width of rectangleheight- a height of rectangle
-
getPreferredButtonSize
public static Dimension getPreferredButtonSize(AbstractButton b, int textIconGap)
Returns the preferred size of the button.- Parameters:
b- an instance ofAbstractButtontextIconGap- a gap between text and icon- Returns:
- the preferred size of the button
-
drawString
public static void drawString(JComponent c, Graphics2D g, String string, float x, float y)
Draws the given string at the specified location using text properties and anti-aliasing hints from the provided component. Nothing is drawn for the null string.- Parameters:
c- the component that will display the string, may be nullg- the graphics context, must not be nullstring- the string to display, may be nullx- the x coordinate to draw the text aty- the y coordinate to draw the text at- Throws:
NullPointerException- if the specifiedgisnull- Since:
- 9
-
drawStringUnderlineCharAt
public static void drawStringUnderlineCharAt(JComponent c, Graphics2D g, String string, int underlinedIndex, float x, float y)
Draws the given string at the specified location underlining the specified character. The provided component is used to query text properties and anti-aliasing hints.The
underlinedIndexparameter points to a char value (Unicode code unit) in the given string. If the char value specified at the underlined index is in the high-surrogate range and the char value at the following index is in the low-surrogate range then the supplementary character corresponding to this surrogate pair is underlined.No character is underlined if the index is negative or greater than the string length
(index < 0 || index >= string.length())or if the char value specified at the given index is in the low-surrogate range.- Parameters:
c- the component that will display the string, may be nullg- the graphics context, must not be nullstring- the string to display, may be nullunderlinedIndex- index of a a char value (Unicode code unit) in the string to underlinex- the x coordinate to draw the text aty- the y coordinate to draw the text at- Throws:
NullPointerException- if the specifiedgisnull- Since:
- 9
- See Also:
getStringWidth(javax.swing.JComponent, java.awt.FontMetrics, java.lang.String)
-
getClippedString
public static String getClippedString(JComponent c, FontMetrics fm, String string, int availTextWidth)
Clips the passed in string to the space provided. The provided component is used to query text properties and anti-aliasing hints. The unchanged string is returned if the space provided is greater than the string width.- Parameters:
c- the component, may be nullfm- the FontMetrics used to measure the string width, must be obtained from the correct font and graphics. Must not be null.string- the string to clip, may be nullavailTextWidth- the amount of space that the string can be drawn in- Returns:
- the clipped string that fits in the provided space, an empty
string if the given string argument is
nullor empty - Throws:
NullPointerException- if the specifiedfmisnull- Since:
- 9
- See Also:
getStringWidth(javax.swing.JComponent, java.awt.FontMetrics, java.lang.String)
-
getStringWidth
public static float getStringWidth(JComponent c, FontMetrics fm, String string)
Returns the width of the passed in string using text properties and anti-aliasing hints from the provided component. If the passed string isnull, returns zero.- Parameters:
c- the component, may be nullfm- the FontMetrics used to measure the advance string width, must be obtained from the correct font and graphics. Must not be null.string- the string to get the advance width of, may be null- Returns:
- the advance width of the specified string, zero is returned for
nullstring - Throws:
NullPointerException- if the specifiedfmisnull- Since:
- 9
-
-