www.pudn.com > 算法源码集合.rar > SubscriptedLabel.java


// SubscriptedLabel.java
//    SubscriptedLabel for block diagram animation
//
import java.awt.*;
import java.util.*;

public class SubscriptedLabel {
	//
	int x, y;	// Position
	
	static int h = 30; // Fixing the height
	static int w = 30; // Fixing the width
	String label, subscript;
	Color c;
	Font font;
	Node input;
	Vector output;


	public SubscriptedLabel( String label, String subscript, int x, int y) {
		
		this.x = x ;
		this.y = y;
		this.label =  label ;
		this.subscript = subscript ;
		c = Color.black;
	
		}
	
	private Point labelLocation (Graphics g) {
		
		FontMetrics fm = g.getFontMetrics();
		int x = (w/2) - (fm.stringWidth(label)/2);
		int y = (h/2) + (fm.getAscent()/2);
		return new Point(x,y);
	}

//	public void setColour( awt.Color new ) {
//		c = new;
//		}





	


	public void draw( Graphics g ) {
		//int lx, ly;  // Centre of label
		//lx = x + w/2;
		//ly = y + h/2;
		Point labelLoc = labelLocation(g);
		g.setColor( c );
		
		// g.setFont( font );
		g.drawString( label,x + labelLoc.x , y + labelLoc.y );
		g.drawString( subscript, x + 5 ,y +2);
		}

}