目前Java的drawString()方法缺省地使用当前Graphics对象的背景颜色作为文字的背
景颜色,并且不提供专门的方法来改变这种设置。因此,我们不能够直接画出具有不
一样背景的文字。一个可行的办法是获得文字信息的高度和宽度,在适当的位置先画
出背景色,然后再同样的位置画出文字。
一段实现了这个方法的程序如下:
Color BackColor = Color.red, ForeColor = Color.blue;
int CurrX = 10, CurrY = 10;
String Info = "Test String".
FontMetrics metrics = getFontMetrics(g.getFont());
int height = metrics.getHeight();
int width = metrics.stringWidth(Info);
g2.setPaint(BackColor);
g2.fillRect(CurrX, CurrY - height, width, height);
g2.setPaint(ForeColor);
g2.drawString(CurrX, CurrY);