这道题目:绘制文本“欢迎来到Java世界”,其中“欢迎来到”为蓝色显示,而“Java世界”为橙色显示,文本用矩形框起来,底色为黄色。
这是我的代码:
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
import java.awt.font.*;
public class Rect extends Applet
{
public void paint(Graphics oldg)
{
Graphics2D g=(Graphics2D)oldg;
Font f=new Font("Courier",Font.BOLD,18);
FontRenderContext frc = g.getFontRenderContext();
String str1=new String("欢迎来到");
String str2=new String("java世界");
String str=str1+str2;
Point2D loc=new Point2D.Float(40,40);
g.setColor(Color.blue);
TextLayout layout=new TextLayout(str1,f,frc);
g.setColor(Color.orange);
layout=new TextLayout(str2,f,frc);
layout=new TextLayout(str,f,frc);
layout.draw(g, (float)loc.getX(), (float)loc.getY());
Rectangle2D bounds = layout.getBounds();
bounds.setRect(bounds.getX()+loc.getX(),
bounds.getY()+loc.getY(),
bounds.getWidth(),
bounds.getHeight());
Color c=new Color(255,255,0,110);
g.setColor(c);
g.fill(bounds);
}
}
我知道有问题但是不知道怎么改,就是两段文字前后设置颜色不同,求解答啊!