JLabel + setText + Timer.
codice:
import java.awt.event.*;
import javax.swing.*;
public class SimpleClass extends JFrame implements ActionListener {
private JLabel label;
private JPanel pannello;
private Timer timer;
private static String stringa = "Sono una stringa che scorre. ";
private static int numChar = 10;
private int indice = 0;
public SimpleClass() {
label = new JLabel(getText());
pannello = new JPanel();
pannello.add(label);
this.setContentPane(pannello);
this.setSize(200,200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
timer = new Timer(200, this);
timer.start();
}
public void actionPerformed(ActionEvent e) {
label.setText(getText());
}
public String getText() {
int fine = indice + numChar;
String tmp;
if(fine<stringa.length()) {
tmp = stringa.substring(indice, fine);
} else {
tmp = stringa.substring(indice);
tmp = tmp + stringa.substring(0, fine%stringa.length());
}
indice = (indice+1)%(stringa.length());
System.out.println(indice+" "+stringa.length());
return tmp;
}
public static void main(String[] args) {
new SimpleClass();
}
}