Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/04/2010, 14:37
darkforce_spawn
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como ejecutar 2temporizadores al mismo tiempo

Cita:
Iniciado por pablor21 Ver Mensaje
los dos temporizadores están en distintos threads??
podrías poner el código?

public void random_cliente(){

String t="";
for (int m=0;m<=10;m++){
clientes.setText("Numero total de clientes en la fila: "+cont);
estado.add(clientes);
int x=(((int)(Math.random()*1000%10)))+10;
try{
t=String.valueOf(x);
j.setText("tiempo estimado del cliente en la cola"+t+" mins");
estado.add(j);
random_cliente2(x);
Thread.sleep(1000);
//System.out.println(t);
}
catch(InterruptedException e){}
clientes();
}
}
public void random_cliente2(int ini){
String t1="";
int otroini=ini+(int)(Math.random()*ini);
int a=(int) (Math.random()*otroini);
for (int m=a;m>=0;m--){
try{

Thread.sleep(1000);
t1=String.valueOf(a);
j1.setText("Tiempo Restante en la caja del clientes"+t1);
estado.add(j1,j);
System.out.println(a=a-1);
}
catch(InterruptedException e){}

}

}



ese es el temp1

el temp 2 es una copia exacta del temp 1 nadamas cambia el nombre a cliente_caja();


y este es mi constructor::

public Lot(){




Container contenedor= getContentPane();
contenedor.setLayout(new BorderLayout());
encabezado=new JPanel();
graficos=new JPanel();
graficos1=new JPanel();
botones=new JPanel();
estado=new JPanel();
encabezado.setLayout(new FlowLayout());
estado.setLayout(new GridLayout(13,4));
graficos.setLayout(new GridLayout(2,1));
graficos1.setLayout(new FlowLayout());
botones.setLayout(new FlowLayout());
contenedor.add(encabezado,BorderLayout.NORTH);
contenedor.add(graficos,BorderLayout.WEST);
contenedor.add(graficos1,BorderLayout.CENTER);
contenedor.add(estado,BorderLayout.EAST);
contenedor.add(botones,BorderLayout.SOUTH);
estado.setBackground(new Color(202,210,160));
graficos.setBackground(new Color(222,110,160));
graficos1.setBackground(new Color(122,110,160));
botones.setBackground(new Color(100,100,100));
titulo=new JLabel();
imagencliente=new JLabel();
imagencajera=new JLabel();
clientes=new JLabel();
//tiempoe=new JLabel();
//tiempoc=new JLabel();

titulo.setText("Comportamiento de una cola en un banco");
encabezado.add(titulo);

imagencliente.setIcon(new ImageIcon("C:/Imgeclipse/cliente1.gif"));
graficos1.add(imagencliente);

imagencajera.setIcon(new ImageIcon("C:/Imgeclipse/cajera.gif"));
graficos.add(imagencajera);

clientes.setText("Numero total de clientes: "+cont);
estado.add(clientes);
j=new JLabel();
j1=new JLabel();
k=new JLabel();
k1=new JLabel();
k2=new JLabel();


//tiempoe.setText("tiempo estimado del cliente: ");
//estado.add(tiempoe);


//tiempoc.setText("Tiempo estimado de espera: ");
//estado.add(tiempoc);




b1=new JButton("Estado");
b2=new JButton("Salir");
botones.add(b1);
botones.add(b2);


JMenuBar barraMenu = new JMenuBar();
JMenuItem elementoAcerca = new JMenuItem( "Acerca de..." );
elementoAcerca.setMnemonic( 'c' );
barraMenu.add( elementoAcerca );
elementoAcerca.addActionListener(

new ActionListener() { // clase interna anónima

// mostrar cuadro de diálogo de mensaje cuando el usuario seleccione Acerca de...
public void actionPerformed( ActionEvent evento )
{
JOptionPane.showMessageDialog( null,
"Programa hecho por: Luis G Tamayo"
,"Acerca de", JOptionPane.PLAIN_MESSAGE );
}

} // fin de la clase interna anónima

); // fin de la llamada a addActionListener

encabezado.add(barraMenu);


b2.addActionListener(this);
setDefaultCloseOperation(WindowConstants.EXIT_ON_C LOSE);
pack();
int a=(Toolkit.getDefaultToolkit().getScreenSize().hei ght)-200;
int b=(Toolkit.getDefaultToolkit().getScreenSize().wid th)-200;
setSize(b,a);
setLocationRelativeTo(null);
setVisible(true);

random_cliente();

random_caja();


}


aqui, entra primero al random_cliente y hasta que termina sigue con ramdom_caja y lo que nesesito es que se inicializen los 2 al mismo tiempo