/**************************************************************************** ** COPYRIGHT (C): 1997 Cay S. Horstmann. All Rights Reserved. ** PROJECT: Practical OO Development with C++ and Java ** FILE: Text.java ** PURPOSE: shape class ** VERSION 1.0 ** PROGRAMMERS: Cay Horstmann (CSH) ** RELEASE DATE: 3-15-97 (CSH) ** UPDATE HISTORY: ****************************************************************************/ package practicaloo; import java.awt.Graphics; import java.awt.FontMetrics; import java.io.PrintStream; public class Text { public Text(Point p, String s) { _start = p; _text = s; } public void scale(Point center, double s) { _start.scale(center, s); } public void plot(Graphics g) { g.drawString(_text, _start.get_x(), _start.get_y()); } public void print(PrintStream p) { p.print(System.out); } public Rectangle extent(Graphics g) //use Graphics or FontMetrics? { FontMetrics fm = g.getFontMetrics(); int x, y; x = fm.stringWidth(_text); y = fm.getHeight(); Point end = _start; end.move(x, y); return new Rectangle(_start, end); } private Point _start; private String _text; }