Webber: A Website Construction Application
AreaLabel.java
// A multi-line label component
package library;
import java.awt.*;
public class AreaLabel extends Component {
private String text = null;
// Constructors
public AreaLabel() {}
public AreaLabel(String text) { setText(text); }
// Set the text for this label
public void setText(String text) { this.text = text; }
// Return the margin insets for the text
public Insets getInsets() { return new Insets(10, 10, 10, 10); }
// Draw the text with word-wrap within the current margins
public void paint(Graphics g) {
if (text==null) return; // Abort if no text
Rectangle r = g.getClipBounds(); // Get clip area
Insets i = getInsets(); // Get margin insets
g.clipRect(i.left, i.top, // Modify clip area
r.width-(i.left+i.right),
r.height-(i.top+i.bottom));
Lib.drawStringWrap(text, g); // Draw string with wrap
}
}
Go To:
Source Code