目前Java的drawString()方法缺省地使用当前Graphics对象的背景颜色作为文字的背 景颜色并且不提供专门的方法来改变这种设置因此我们不能够直接画出具有不 一样背景的文字一个可行的办法是获得文字信息的高度和宽度在适当的位置先画 出背景色然后再同样的位置画出文字 一段实现了这个方法的程序如下 Color BackColor = Colorred ForeColor = Colorblue; int CurrX = CurrY = ; String Info = Test String FontMetrics metrics = getFontMetrics(ggetFont()); int height = metricsgetHeight(); int width = metricsstringWidth(Info); gsetPaint(BackColor); gfillRect(CurrX CurrY height width height); gsetPaint(ForeColor); gdrawString(CurrX CurrY); |