Hallo, ich habe seit einigen Tagen einen Netzwerk-Skript programmiert, was den Rechnerstatus auf ON oder OFF überprüft. Dieses befindet sich in der Metohde "status".
Das funktioniert auch einwandfrei. Sobald ich es in einem Applet implementiere funktioniert das nicht richtig und zeigt mir das alle Rechner OFF-line sind.
Das Applet gibt eine Tabelle aus. Darin befinden sich die Namen der Rechner und mehrere Kreis mit der Farbe Gruen/Rot.
Ich kämpfe seit Tagen schon damit das es richtig klappt aber es will irgendwie nicht. Ich hoffe ihr könnt mir helfen da ich kein Java-Guru bin^^
Danke im Vorraus
Hier mein Skript:
Das funktioniert auch einwandfrei. Sobald ich es in einem Applet implementiere funktioniert das nicht richtig und zeigt mir das alle Rechner OFF-line sind.
Das Applet gibt eine Tabelle aus. Darin befinden sich die Namen der Rechner und mehrere Kreis mit der Farbe Gruen/Rot.
Ich kämpfe seit Tagen schon damit das es richtig klappt aber es will irgendwie nicht. Ich hoffe ihr könnt mir helfen da ich kein Java-Guru bin^^
Danke im Vorraus
Hier mein Skript:
Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.net.InetAddress;
/**
*
* Beschreibung
*
* @version 1.0 vom 31.10.2008
* @author
*/
public class cads extends Applet {
// Anfang Attribute
private java.awt.Image image;
private java.awt.Graphics g;
public String [] host = {
"192.168.0.1","192.168.0.2","192.168.0.3","192.168.0.4","192.168.0.5","192.168.0.6","192.168.0.7","192.168.0.8","192.168.0.9"
};
public String [] Name = {
"Rechner_1", "Rechner_2","Rechner_3","Rechner_4","Rechner_5","Rechner_6","Rechner_7","Rechner_8","Rechner_9"
};
// Ende Attribute
public void init() {
setSize(300, 400);
this.image = createImage(300, 400);
this.g = this.image.getGraphics();
// Anfang Komponenten
for(int i=10; i<=laenge(); i=i+24){
g.drawLine(10, i, 290, i); //horizontal
}
g.drawLine(10, 10, 10, laenge()-14); //vertikal
g.drawLine(150, 10, 150, laenge()-14); //vertikal
g.drawLine(290, 10, 290, laenge()-14); //vertikal
int counter=0;
for(int b=32; b<laenge()-12; b=b+24){
g.drawString(Name[counter], 33, b);
counter=counter+1;
}
for (int i=0;i<host.length; i=i+1){
kreis(i);
}
// Ende Komponenten
repaint();
}
// Anfang Methoden
public void paint(java.awt.Graphics graphics) {
graphics.drawImage(image, 0, 0, this);
}
public int laenge(){ // hoehe der tabelle
return (Name.length+1)*24;
}
public void kreis(int abstand){
int abstand_kreis=(abstand*24)+12;
if (status(abstand)=="true"){
kreis_gruen();
} else {
kreis_rot();
}
g.fillOval(210, abstand_kreis, 20, 20); // Rumpf
g.setColor(new Color(0, 0, 0)); // schwarz
g.drawOval(210, abstand_kreis, 20, 20); // Rand vom Rumpf
}
public void kreis_rot(){
g.setColor(new Color(200, 0, 0)); // rot
}
public void kreis_gruen(){
g.setColor(new Color(0, 200, 0)); // gruen
}
public String status(int zaehler){
String Status;
try{
if (InetAddress.getByName(host[zaehler]).isReachable(10000)) {
//System.out.println(Name[zaehler] + " is reachable...");
Status="true";
} else {
//System.out.println(Name[zaehler] + " is not reachable...");
Status="false";
}
} catch (Exception e){
//System.out.println(Name[zaehler]+" existiert nciht");
Status="false";
}
return Status;
}
// Ende Methoden
}