Sim, você pode. E de várias formas. Uma delas é cadastrar o evento de rolagem da barra, mandando fazer o repaint()
do componente em questão (o frame ou applet ou panel principal). O outro é fazer um refresh do mesmo periodicamente.
Eu recomendo o primeiro, é mais simples de programar (depois que você estuda um pouco sobre as interrupções) e
é mais eficiente para o usuário e a máquina.

    Para o refresh de tempos em tempos você pode se basear no programa abaixo (tirado do tutorial da Sun).

    []s Quartz

Silvano Lago wrote:

Olá;         O applet que criei ocupa boa parte da página do navegador, toda vez que utilizo a barra de rolagem do mesmo o texto que esta sendo exibido fica truncado, existe alguma maneira de fazer um refresh periódico no applet, imagino que isso resolva o problema.


import java.awt.Graphics;
import java.util.Date;

public class Clock extends java.applet.Applet implements Runnable {
    private Thread clockThread = null;
    public void start() {
        if (clockThread == null) {
            clockThread = new Thread(this, "Clock");
            clockThread.start();
        }
    }
    public void run() {
        Thread myThread = Thread.currentThread();
        while (clockThread == myThread) {
            repaint();
            try {

                Thread.sleep(1000);
            } catch (InterruptedException e){ }
        }
    }
    public void paint(Graphics g) {
        Date now = new Date();
        g.drawString(now.getHours() + ":" +
                     now.getMinutes() + ":" +
                     now.getSeconds(), 5, 10);
    }
    public void stop() {
        clockThread = null;
    }
}
 

Responder a