Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/10/2011, 13:51
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Actualizar Frame despues de hacer Pings

Hola,

Bueno, una idea inicial podría ser la siguiente, podrías crear un hilo (Thread) que conozca el botón que tiene que actualizar, y en su tiempo de vida lo actualice consecuentemente según su estado.

Por ejemplo:

Código Java:
Ver original
  1. import javax.swing.JTextArea;
  2.  
  3. public class Pinger implements Runnable {
  4.  
  5.     JTextArea area;
  6.  
  7.     public Pinger(JTextArea area) {
  8.         this.area = area;
  9.     }
  10.  
  11.     @Override
  12.     public void run() {
  13.         int i = 0;
  14.         while (i++ < 5) {
  15.             try {
  16.                 Thread.sleep(1000 * 5);
  17.                 firePingEvent();
  18.             } catch (InterruptedException ex) {
  19.                 System.err.println(ex);
  20.             }
  21.         }
  22.     }
  23.  
  24.     public void firePingEvent() {
  25.         area.setText(area.getText().concat("Ping\n"));
  26.     }
  27.  
  28. }

En el constructor le pasamos como parámetro un TextArea, que lógicamente podría ser un botón o cualquier cosa. Como es un ejemplo solamente hace un sleep pero tendrías que cambiarlo por el código que realiza el ping y cada intervalo de ping actualiza el TextArea colocando el mensaje. Por supuesto que tendrías que cambiar la lógica para que funcione como quieres.

En el código del frame principal o no sé, donde inicializas el 'pinger', crearías un hilo independiente, con el componente que deseas, como por ejemplo:

Código Java:
Ver original
  1. new Thread(new Pinger(this.jTextArea1)).start();

Es un idea básica, realmente existen varios métodos para hacer lo que estas solicitando,

Saludos,