Welcome to HBH! If you had an account on hellboundhacker.org you will need to reset your password using the Lost Password system before you will be able to login.

Walking Text - Java Code Bank


Walking Text
Walking Text made as a Applet.
                import java.applet.*;
import java.awt.*;

public class WalkingText extends Applet implements Runnable {
	protected String mesg = null;
	protected int  xloc, yloc, width, height, textWidth, textHeight;
	protected Thread t;
	protected boolean done = false;
	/** How long to nap for each move */
	protected int napTime = 150;

	/** Applet Initializer */
	public void init() {
		xloc = 0;
		width = getSize().width;
		height = getSize().height;

		if ((mesg = getParameter("text")) == null)
			mesg = "Hello World of Java";

		String pSize = getParameter("fontsize"); 
		if (pSize == null)
			pSize = "12";

		String fontName = getParameter("fontName"); 
		if (fontName == null)
			fontName = "Helvetica";

		// System.out.println("Font is " + pSize + " point " + fontName);
		Font f = new Font(fontName, Font.PLAIN, Integer.parseInt(pSize));
		setFont(f);

		FontMetrics fm = getToolkit().getFontMetrics(f);
		textWidth = fm.stringWidth(mesg);
		textHeight = fm.getHeight();
		// System.out.println("TextWidth " + textWidth + ", ht " + textHeight);

		// use textHeight in y coordinate calculation
		yloc = height - ((height-textHeight) / 2);
	}

	/** This is important: we create a thread, so we must kill it */
	public void stop() {
		done = true;
		t = null;
	}

	/** create the thread and start it. */
	public void start() {
		if (t == null)
			t = new Thread(this);
		done = false;
		t.start();
	}

	// Usage:
	public String[][] getParameterInfo() {
		String[][] params = {
			{ "text", "text", "Text to walk across the screen" },
			{ "fontName", "text", "Name of font to display in" },
			{ "fontsize", "int", "How big to make the text" },
		};

		return params;
	}


	/** Run is called by the Thread class when there is work to do */
	public void run() {
		while (!done) {
			if ((xloc+=5) > getSize().width)
				xloc = 0;
			repaint();
			try {
				Thread.sleep(napTime);
			} catch (Exception e) {
				System.out.println("Who dares to interrupt my Sleep()? " + e);
			};
		}
	}

	/** Paint is called by Applet to redraw the screen */
	public void paint(Graphics g) {
		g.drawString(mesg, xloc, yloc);
		// if ((xloc + textWidth) > getSize().width) {
		// 	int negLoc = textWidth-(width-xloc);
		// 	System.out.println("xloc, textWidth, negLoc: " + xloc + "," +
		// 			textWidth + ", " + negLoc);
		// 	g.drawString(mesg, negLoc, yloc);
		// }
	}
}
/*
<APPLET CODE="WalkingText" WIDTH=500 HEIGHT=70>
	<PARAM NAME=FontName Value="Helvetica">
	<PARAM NAME=FontSize Value="24">
</APPLET>
*/
            
Comments
Sorry but there are no comments to display