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.
// 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); } }