我已经编写了自己的饼图类,并决定添加一个displayValues(),它基本上显示值,其中一个参数是Direction,它是我的ENUM,由LEFT,RIGHT,TOP,BOTTOM组成。
基本上drawString将根据Direction绘制。另一个参数也是字符串和饼图之间的填充。
一切进展顺利但是当我想在方向== LEFT时创建填充时问题出现了。
问题是我无法设置drawString(String str,getX() - 10,int y),因为字符串仍会进入图表内。
我希望能够保持从右到左的填充,而不是通常从左到右。这可能吗?
这是我想要的:
答案 0 :(得分:1)
如果g
是您的Graphics
对象,请使用
int textWidth = g.getFontMetrics().stringWidth(str)
获取要绘制的文本的宽度。然后,您可以将getX() - 10
替换为getX() - textWidth - 10
,这将根据需要定位文本,使其末尾位于getX()左侧10个像素处。