#

| Chapter 3 Fonts and Colors |

## 3.6 Using Desktop Colors

Example 3.4 demonstrates how to use the desktop color constants introduced in Java 1.1. If you run this example under an earlier release, an uncatchable class verifier error will occur.

> NOTE:

Notice that the border lines are drawn from `0` to `width-1` or `height-1`. This is to draw lines of length `width` and `height`, respectively.

#### Example 3.4: Desktop Color Usage

    // Java 1.1 only
    import java.awt.*;
    public class TextBox3D extends Canvas {
        String text;
        public TextBox3D (String s, int width, int height) {
            super();
            text=s;
            setSize(width, height);
        }
        public synchronized void paint (Graphics g) {
            FontMetrics fm = g.getFontMetrics();
            Dimension size=getSize();
            int x = (size.width - fm.stringWidth(text))/2;
            int y = (size.height - fm.getHeight())/2;
            g.setColor (SystemColor.control);
            g.fillRect (0, 0, size.width, size.height);
            g.setColor (SystemColor.controlShadow);
            g.drawLine (0, 0, 0, size.height-1);
            g.drawLine (0, 0, size.width-1, 0);
            g.setColor (SystemColor.controlDkShadow);
            g.drawLine (0, size.height-1, size.width-1, size.height-1);
            g.drawLine (size.width-1, 0, size.width-1, size.height-1);
            g.setColor (SystemColor.controlText);
            g.drawString (text, x, y);
        }
    }

Displaying Colors |  | Events