Hola he intentado hacer un cronómetro en Netbeans con JFrame y de hecho funciona, pero el problema es que por cada centésima abre una ventana que se van superponiendo unas a otras hasta que colapsa. He probado aplicar el método dispose() pero nada no he conseguido solucionar el problema .
He hecho cuatro archivos.Un main, un hilo, el archivo de la aplicación y el que lleva la clase cronómetro:
archivo clase cronómetro:
import javax.swing.JOptionPane;
public class cronometro extends Thread{
public static cronometro iniciadorCronometro;
public void run(){
try{
String texto=cronometer.aplicacion.jLabel1.getText();
int segundos = 0;
int centesimas = 0;
for(segundos=0;segundos<60;segundos++){
for(centesimas=0;centesimas<60;centesimas++){
delay();
aplicacion a=new aplicacion();
a.jLabel1.setText(segundos+":"+centesimas);
a.setVisible(true);
a.setLocationRelativeTo(null);
}
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, "ERROR");
}
}
public static void delay(){
try{
Thread.sleep(100);
}catch(Exception e){
e.printStackTrace();
}
}
}
archivo hilo:
public class hilo {
public static cronometro iniciadorCronometro;
public static void main(String[] args) {}
public static void init(){
iniciadorCronometro=new cronometro();
iniciadorCronometro.start();
}
}
archivo aplicacion (es un jFrame)
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(evt.getSource()==jButton1){
hilo.init();
}
}
Como digo al abrirlo comienza el cronometro pero cada centesima es una ventana que se va superponiendo a la anterior hasta que colapsa.
un saludo.