PINTAR EN EL APPLET en JAVA

 Se utiliza el método repaint, que obliga a volver a pintar la applet. A su vez repaint llama a update, con lo cual se actualiza la applet. Tenemos cuatro maneras de utilizar el método repaint.

repaint(); llama al método repaint.

 

repaint(tiempo); cada x tiempo se actualiza. Mantiene ritmo en las animaciones.

 

repaint(x1,y1,x2,y2); actualiza únicamente el área que delimitamos.

 

repaint(tiempo,x1,y1,x2,y2); es una mezcla de las 2 anteriores.

 

 

 

EJEMPLO: Texto danzando a lo loco.

 

import java.awt.*;

import java.applet.*;

public class text extends Applet implements Runnable {

Thread parar;

int x_coord = 0, y_coord = 0;

public void start() {

parar = new Thread(this);

parar.start();

}

public void run() {

for(;;){

try {Thread.sleep(100);}

catch (InterruptedException e){}

repaint();

}

}

public void paint(Graphics g) {

x_coord = (int) (Math.random()*10+15*10);

y_coord = (int) (Math.random()*10+36);

g.drawString(“H O L A”,x_coord,y_coord);

}

}

 

 

EJEMPLO: Letras danzando.

 

import java.awt.*;

import java.applet.*;

public class text extends Applet implements Runnable {

char separado[];

String s = "H o l a   B u e n a s";

Thread parar = null;

int i;

int x_coord = 0, y_coord = 0;

public void init() {

separado =  new char [s.length()];

s.getChars(0,s.length(),separado,0);

resize((s.length()+1)*15, 50);

setFont(new Font("TimesRoman",Font.BOLD,36));

}

public void start() {

parar = new Thread(this);

parar.start();

}

public void run() {

for(;;)

{

try {Thread.sleep(100);}

catch (InterruptedException e){}

repaint();

}

}

public void paint(Graphics g) {

for(i=0;i<s.length();i++)

{

x_coord = (int) (Math.random()*10+15*i);

y_coord = (int) (Math.random()*10+36);

g.drawChars(separado, i,1,x_coord,y_coord);

}

}

} //fin de la clase.

 

EJEMPLO: Creación de un reloj.

 

import java.awt.*;

import java.applet.*;

import java.util.Date;

 

public class re extends Applet implements Runnable {

Thread tiempo;

public void paint(Graphics g) {

String today;

Date dat = new Date();

Font F = new Font("Arial", Font.PLAIN, 24);

g.setFont(F);

today = dat.toLocaleString();

g.drawString(today, 5,20);

}

 

public void start() {

tiempo = new Thread(this);

tiempo.start();

}

 

public void run() {

for(;;)

{

repaint();

pausa(1000);

}

}

 

public void pausa(int tempo){

try{Thread.sleep(tempo);}

catch(InterruptedException e){}

}

}//fin de la clase

0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *