实例012 设置文本和图形的颜色
实例说明
本实例演示在Java中绘制文本和图形时,如何设置文本和图形的颜色。运行程序,效果如图1.12所示。
关键技术
本实例主要是通过在JPanel类的子类中,重写JComponent类的paint()方法,并在该方法中使用Graphics类的setColor()方法和使用Color类创建颜色对象来实现的。
(1)使用Graphics类的setColor()方法,并将Color类创建的颜色对象,作为setColor()方法的参数,实现为文本和图形设置颜色的操作,setColor()方法的定义如下:
public abstract void setColor(Color color)
参数说明
color:为文本或图形设置的颜色对象。
(2)使用Color类创建颜色对象,其构造方法的定义如下:
public Color(int r, int g, int b)
参数说明
? r:RGB颜色的R值。
? g:RGB颜色的G值。
? b:RGB颜色的B值。
? 提示:Color类提供了多个重载的构造方法,用户可以根据需要进行选择。
设计过程
(1)新建一个项目。
(2)在项目中创建一个继承JFrame类的TextAndShapeColorFrame窗体类。
(3)在TextAndShapeColorFrame窗体类中,创建内部面板类TextAndShapeColorPanel,并重写JComponent类的paint()方法,在该方法中使用Color类创建颜色对象,并使用Graphics类的setColor()方法设置文本和图形的颜色。
(4)将内部面板类TextAndShapeColorPanel的实例,添加到窗体类TextAndShapeColorFrame的内容面板上,用于在窗体上显示设置颜色后的文本和图形,代码如下:
class TextAndShapeColorPanel extends JPanel { // 创建内部面板类
public void paint(Graphics g) { // 重写paint()方法
String value = "只要努力— — — —";
int x = 60; // 文本位置的横坐标
int y = 60; // 文本位置的纵坐标
Color color = new Color(255,0,0); // 创建颜色对象
g.setColor(color); // 设置颜色
g.drawString(value, x, y); // 绘制文本
value = "一切皆有可能";
x = 140; // 文本位置的横坐标
y = 100; // 文本位置的纵坐标
color = new Color(0,0,255); // 创建颜色对象
g.setColor(color); // 设置颜色
g.drawString(value, x, y); // 绘制文本
color = Color.ORANGE; // 通过Color类的字段获得颜色对象
g.setColor(color); // 设置颜色
g.drawRoundRect(40,30,200,100,40,30); // 绘制圆角矩形
g.drawRoundRect(45,35,190,90,36,26); // 绘制圆角矩形
}
}
秘笈心法
心法领悟012:使用Color类的字段获得颜色。
在绘制文本和图形时,除了使用Color类的构造方法创建颜色对象外,还可以使用Color类提供的字段获得颜色对象,如红色为Color.RED或Color.red。