java.lang.Object
javax.swing.plaf.basic.BasicGraphicsUtils
便捷的工具类。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
drawBezel
(Graphics g, int x, int y, int w, int h, boolean isPressed, boolean isDefault, Color shadow, Color darkShadow, Color highlight, Color lightHighlight) 绘制一个斜角。static void
drawDashedRect
(Graphics g, int x, int y, int width, int height) 绘制虚线矩形。static void
drawEtchedRect
(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight) 绘制一个浮雕矩形。static void
drawGroove
(Graphics g, int x, int y, int w, int h, Color shadow, Color highlight) 绘制一个凹槽。static void
drawLoweredBezel
(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight) 绘制一个降低的斜角。static void
drawString
(Graphics g, String text, int underlinedChar, int x, int y) 在位置(x,y)处使用图形g
绘制字符串,就像g.drawString
一样。static void
drawString
(JComponent c, Graphics2D g, String string, float x, float y) 使用提供的组件的文本属性和抗锯齿提示在指定位置绘制给定的字符串。static void
drawStringUnderlineCharAt
(Graphics g, String text, int underlinedIndex, int x, int y) 在位置(x
,y
)处使用图形g
绘制字符串,就像g.drawString
一样。static void
drawStringUnderlineCharAt
(JComponent c, Graphics2D g, String string, int underlinedIndex, float x, float y) 在指定位置绘制给定的字符串并在指定字符下划线。static String
getClippedString
(JComponent c, FontMetrics fm, String string, int availTextWidth) 将传入的字符串剪切到提供的空间。static Insets
返回由drawEtchedRect()
绘制的边框占用的空间量。static Insets
返回由drawGroove()
绘制的边框占用的空间量。static Dimension
getPreferredButtonSize
(AbstractButton b, int textIconGap) 返回按钮的首选大小。static float
getStringWidth
(JComponent c, FontMetrics fm, String string) 使用提供的组件的文本属性和抗锯齿提示返回传入字符串的宽度。
-
Constructor Details
-
BasicGraphicsUtils
public BasicGraphicsUtils()构造一个BasicGraphicsUtils
。
-
-
Method Details
-
drawEtchedRect
public static void drawEtchedRect(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight) 绘制一个浮雕矩形。- 参数:
-
g
-Graphics
的一个实例 -
x
- X坐标 -
y
- Y坐标 -
w
- 宽度 -
h
- 高度 -
shadow
- 阴影颜色 -
darkShadow
- 深阴影颜色 -
highlight
- 高亮颜色 -
lightHighlight
- 亮高亮颜色
-
getEtchedInsets
返回由drawEtchedRect()
绘制的边框占用的空间量。- 返回:
- 浮雕矩形的插入量
-
drawGroove
public static void drawGroove(Graphics g, int x, int y, int w, int h, Color shadow, Color highlight) 绘制一个凹槽。- 参数:
-
g
-Graphics
的一个实例 -
x
- X坐标 -
y
- Y坐标 -
w
- 宽度 -
h
- 高度 -
shadow
- 阴影颜色 -
highlight
- 高亮颜色
-
getGrooveInsets
返回由drawGroove()
绘制的边框占用的空间量。- 返回:
- 凹槽边框的插入量
-
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) 绘制一个斜角。- 参数:
-
g
-Graphics
的一个实例 -
x
- X坐标 -
y
- Y坐标 -
w
- 宽度 -
h
- 高度 -
isPressed
- 组件是否被按下 -
isDefault
- 是否默认绘制 -
shadow
- 阴影颜色 -
darkShadow
- 深阴影颜色 -
highlight
- 高亮颜色 -
lightHighlight
- 亮高亮颜色
-
drawLoweredBezel
public static void drawLoweredBezel(Graphics g, int x, int y, int w, int h, Color shadow, Color darkShadow, Color highlight, Color lightHighlight) 绘制一个降低的斜角。- 参数:
-
g
-Graphics
的一个实例 -
x
- X坐标 -
y
- Y坐标 -
w
- 宽度 -
h
- 高度 -
shadow
- 阴影颜色 -
darkShadow
- 深阴影颜色 -
highlight
- 高亮颜色 -
lightHighlight
- 亮高亮颜色
-
drawString
使用图形g
在位置(x,y)处绘制字符串,就像g.drawString
一样。文本中第一个出现的underlineChar
将被下划线。匹配算法不区分大小写。- 参数:
-
g
-Graphics
的一个实例 -
text
- 一个文本 -
underlinedChar
- 要下划线的字符 -
x
- X坐标 -
y
- Y坐标
-
drawStringUnderlineCharAt
public static void drawStringUnderlineCharAt(Graphics g, String text, int underlinedIndex, int x, int y) 使用图形g
在位置(x
,y
)处绘制字符串,就像g.drawString
一样。文本中索引为underlinedIndex
的字符将被下划线。如果index
超出text
的边界(包括< 0),则不会有下划线。- 参数:
-
g
- 用于绘制的图形 -
text
- 要绘制的字符串 -
underlinedIndex
- 要下划线的文本中的字符索引 -
x
- 要绘制的x坐标 -
y
- 要绘制的y坐标 - 自1.4起:
- 1.4
-
drawDashedRect
绘制虚线矩形。- 参数:
-
g
-Graphics
的一个实例 -
x
- X坐标 -
y
- Y坐标 -
width
- 矩形的宽度 -
height
- 矩形的高度
-
getPreferredButtonSize
返回按钮的首选大小。- 参数:
-
b
-AbstractButton
的一个实例 -
textIconGap
- 文本和图标之间的间距 - 返回:
- 按钮的首选大小
-
drawString
使用提供的组件的文本属性和抗锯齿提示在指定位置绘制给定的字符串。如果字符串为空,则不绘制任何内容。- 参数:
-
c
- 将显示字符串的组件,可以为null -
g
- 图形上下文,不能为空 -
string
- 要显示的字符串,可以为null -
x
- 要绘制文本的x坐标 -
y
- 要绘制文本的y坐标 - 抛出:
-
NullPointerException
- 如果指定的g
为null
- 自9起:
- 9
-
drawStringUnderlineCharAt
public static void drawStringUnderlineCharAt(JComponent c, Graphics2D g, String string, int underlinedIndex, float x, float y) 使用提供的组件查询文本属性和抗锯齿提示,在指定位置绘制给定的字符串并下划线指定的字符。参数
underlinedIndex
指向给定字符串中的一个字符值(Unicode代码单元)。如果在下划线索引处指定的字符值在高代理范围内,并且后面的索引处的字符值在低代理范围内,则下划线对应于这个代理对应的补充字符。如果索引为负数或大于字符串长度(
index < 0 || index >= string.length()
),或者在给定索引处指定的字符值在低代理范围内,则不会有字符被下划线。- 参数:
-
c
- 将显示字符串的组件,可以为null -
g
- 图形上下文,不能为空 -
string
- 要显示的字符串,可以为null -
underlinedIndex
- 要在字符串中下划线的字符索引 -
x
- 要绘制文本的x坐标 -
y
- 要绘制文本的y坐标 - 抛出:
-
NullPointerException
- 如果指定的g
为null
- 自9起:
- 9
- 参见:
-
getClippedString
public static String getClippedString(JComponent c, FontMetrics fm, String string, int availTextWidth) 将传入的字符串剪切到提供的空间。使用提供的组件查询文本属性和抗锯齿提示。如果提供的空间大于字符串宽度,则返回未更改的字符串。- 参数:
-
c
- 组件,可以为null -
fm
- 用于测量字符串宽度的FontMetrics,必须从正确的字体和图形中获取。不能为空。 -
string
- 要剪切的字符串,可以为null -
availTextWidth
- 可以绘制字符串的空间量 - 返回:
-
适合提供的空间的剪切字符串,如果给定的字符串参数为
null
或空字符串,则返回空字符串 - 抛出:
-
NullPointerException
- 如果指定的fm
为null
- 自9起:
- 9
- 参见:
-
getStringWidth
返回使用提供的组件的文本属性和抗锯齿提示的传入字符串的宽度。如果传入的字符串为null
,则返回零。- 参数:
-
c
- 组件,可以为null -
fm
- 用于测量提前字符串宽度的FontMetrics,必须从正确的字体和图形中获取。不能为空。 -
string
- 要获取提前宽度的字符串,可以为null - 返回:
-
指定字符串的提前宽度,对于
null
字符串返回零 - 抛出:
-
NullPointerException
- 如果指定的fm
为null
- 自9起:
- 9
-