Java图形与文本(11)

实例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。

 

读书导航