Saludos amigos en esta entrega dejo un ejemplo de utilizacion de un timer en java y como agregado lo ensallaremos haciendo un ping tambien desde java, algo que nos puede resultar muy util, para esto solo debemos crear una clase que se llame PingJava y luego pegas este codigo:
/**
*
* @author Jeison Nisperuza
*/
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class PingJava extends Applet implements ActionListener {
public Timer timer;
String ip;
//funcion start timer
public void startimer () {
timer = new Timer (1000, new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
//Hacer ping a una IP:
InetAddress in = null;
try {
//ping a una ip
in = InetAddress.getByName(ip); //ip
} catch (UnknownHostException ex) {
ta.append("Host de destino inaccesible"+"\n");
}
catch (NullPointerException npe) {
ta.append("Host de destino inaccesible"+"\n");
}
try {
//Definimos un tiempo en el cual ha de responder
if (in.isReachable(5000)) {
ta.append("Respuesta desde "+ip+"\n");
} else {
ta.setText("No responde: Time out"+"\n");
}
} catch (IOException ex) {
ta.append("Error entrada / Salida "+ex);
}
catch (NullPointerException npe) {
ta.append("Host de destino inaccesible"+"\n");
}
//final de codigo ejecutado
}
});
timer.start();
}//final de la funcion start timer
//funcion stop timer
public void stoptimer () {
timer.stop();
ta.append("Detenido"+"\n");
}//final de la funcion stop timer
//variables publicas
Label l1;
TextArea ta;
TextField t2;
Button b1,b2;
int n1,n2,res;
public PingJava() {
//implemento las variables
l1 = new Label("ip");
ta = new TextArea(20,40);
ta.setBackground(Color.black);
ta.setForeground(Color.white);
t2 = new TextField(10);
b1 = new Button("Iniciar Ping");
b2 = new Button("Detener Ping");
//las agrego
add(l1);
add(t2);
add(ta);
add(b1);
add(b2);
//escucho los botones
b1. addActionListener(this);
b2. addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
//boton iniciar
if (ae.getSource() == b1) {
String DigIp=t2.getText();
if (DigIp.equals("")){
JOptionPane.showMessageDialog(null, "Digite la direccion ip");
t2.requestFocus();
}else{
ip=DigIp;
startimer();
}
}
//boton detener
if (ae.getSource() == b2) {
stoptimer();
}
}
//presentacion
public void paint(Graphics g) {
g.drawString("Elaborado Por: JEISON NISPERUZA ", 100, 450);
}
}
Deja tu comentario o agradecimiento...
/**
*
* @author Jeison Nisperuza
*/
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class PingJava extends Applet implements ActionListener {
public Timer timer;
String ip;
//funcion start timer
public void startimer () {
timer = new Timer (1000, new ActionListener ()
{
public void actionPerformed(ActionEvent e)
{
//Hacer ping a una IP:
InetAddress in = null;
try {
//ping a una ip
in = InetAddress.getByName(ip); //ip
} catch (UnknownHostException ex) {
ta.append("Host de destino inaccesible"+"\n");
}
catch (NullPointerException npe) {
ta.append("Host de destino inaccesible"+"\n");
}
try {
//Definimos un tiempo en el cual ha de responder
if (in.isReachable(5000)) {
ta.append("Respuesta desde "+ip+"\n");
} else {
ta.setText("No responde: Time out"+"\n");
}
} catch (IOException ex) {
ta.append("Error entrada / Salida "+ex);
}
catch (NullPointerException npe) {
ta.append("Host de destino inaccesible"+"\n");
}
//final de codigo ejecutado
}
});
timer.start();
}//final de la funcion start timer
//funcion stop timer
public void stoptimer () {
timer.stop();
ta.append("Detenido"+"\n");
}//final de la funcion stop timer
//variables publicas
Label l1;
TextArea ta;
TextField t2;
Button b1,b2;
int n1,n2,res;
public PingJava() {
//implemento las variables
l1 = new Label("ip");
ta = new TextArea(20,40);
ta.setBackground(Color.black);
ta.setForeground(Color.white);
t2 = new TextField(10);
b1 = new Button("Iniciar Ping");
b2 = new Button("Detener Ping");
//las agrego
add(l1);
add(t2);
add(ta);
add(b1);
add(b2);
//escucho los botones
b1. addActionListener(this);
b2. addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
//boton iniciar
if (ae.getSource() == b1) {
String DigIp=t2.getText();
if (DigIp.equals("")){
JOptionPane.showMessageDialog(null, "Digite la direccion ip");
t2.requestFocus();
}else{
ip=DigIp;
startimer();
}
}
//boton detener
if (ae.getSource() == b2) {
stoptimer();
}
}
//presentacion
public void paint(Graphics g) {
g.drawString("Elaborado Por: JEISON NISPERUZA ", 100, 450);
}
}
Deja tu comentario o agradecimiento...
Gracias buen post...
ResponderEliminarMuy bueno, aunque solo utilicé InetAddress fue de gran ayuda, gracias...
ResponderEliminarMuy bueno me ayudo bastante
ResponderEliminarcomo puedo implementar este mismo codigo pero en un JFrame
ResponderEliminarpuedes descargar un ejemplo utilizando un JFrame con sus fuentes
ResponderEliminarhttps://skydrive.live.com/?cid=6592461B78AD16D8&id=6592461B78AD16D8%21120
Muchas Gracias, voy a analizar el código
ResponderEliminarMe gusta mucho tus ejercicios son muy entendibles..Gracias
ResponderEliminarMuchas gracias, me gusta compartir conocimientos y a la vez aprender con cada interrogante que se plantea en este blog.
ResponderEliminarSaludos,
amigo como puedo hacer que el programa funcione haciendo que al principio se abra una ventana emergente diciendome qeu introdusca una ip a la cual le quiero hacer el ping
ResponderEliminarMUCHAS GRACIAS!!
ResponderEliminarExcelente.
ResponderEliminarExcelente.
ResponderEliminar