Hilos4.java



import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class Hilos4 extends JFrame
{
	NuevoHilo h1 = new NuevoHilo( "J", Color.red );
	NuevoHilo h2 = new NuevoHilo( "A", Color.blue );
	NuevoHilo h3 = new NuevoHilo( "V", Color.cyan );
	NuevoHilo h4 = new NuevoHilo( "A", Color.green );

	public static void main(String R[]) { new Hilos4(); }

	public Hilos4()
	{
		setSize(800, 500);
		setLocationRelativeTo(null);
		setVisible(true);

		add(h1); h1.setBounds(0,   0, 600, 90);
		add(h2); h2.setBounds(0, 100, 600, 90);
		add(h3); h3.setBounds(0, 200, 600, 90);
		add(h4); h4.setBounds(0, 300, 600, 90);
	}

	protected void processWindowEvent(WindowEvent e)
        { if (e.getID() == WindowEvent.WINDOW_CLOSING) System.exit(0); }

}

class NuevoHilo extends JPanel implements Runnable 
{
	int x = 40, y = 50, N = 0;
	String Letra;
	boolean ciclo = true;
	Color ColorFondo = null;

	Thread hilo = null;

	public NuevoHilo ( String Letra, Color ColorFondo )
	{
		hilo = new Thread(this);
		this.ColorFondo = ColorFondo;
		this.Letra = Letra;
		hilo.start();
	}

	public void run()
	{
		while ( ciclo )
		{
			if (N < 30) { x += 5; N += 1; }
			else ciclo = false;
			repaint();
			try { hilo.sleep(500); } catch (InterruptedException e) {}
		}
	}

	public void paint(Graphics g)  
	{
		g.setColor(ColorFondo); g.fillRect(0, 0, 600, 90);
		g.setColor(Color.white); g.drawString(Letra, x, 50);
	}

}