0
Hi,
ich hab mal eine frage ist es normal, das solch ein applet aus unerfindlichen gründen den cpu(3,2Ghz) um 50% auslastet?
Ich hab versucht eine wiederholung einzubauen bzw. mittel sleep(1000) eine pausierung des vorganges... aber das funktioniert nicht, bzw. zeigt mir das applet immer nur die erste ausgabe an aber ohen die werte zu übernehmen "s1,s2,s3,s4,s5".
Außerdem läßt sich das applet nur im editor ausführen via browser geht es garnicht.
Im editor hab ich unten im statusfenster die übliche ausgabe wie aus dem ursprünglichen programm aber auch ohne sleep verzögerung.
repaint hab ich verschiedentlich aufrufen wollen aber das brachte kein ergebnis.
diese bildeinfüge funktion die ich ausprobieren wollte zeigt auch kein bild an auchwenn das dort liegt wo auch das applet ist.
vielleicht hat ja jemand eine idee dazu.
import java.awt.*;
import java.util.*;
import java.awt.geom.*;
import java.applet.*;
import java.io.*;
import java.util.Vector;
import java.util.Set;
import java.text.SimpleDateFormat;
public class Test_app2
extends java.applet.Applet
{
//globale-klassen variable
public String s, sTMP, s1, s2, s3, s4;
Image img;
Vector vec = new Vector();
SimpleDateFormat zeitstempel = new SimpleDateFormat();
public void init(){
String s = null, sTMP=" ";
Image img;
img = getImage(getDocumentBase(),"Bild.jpg");
// Angepasstes Datum, Zeit
zeitstempel.applyPattern( "dd.MM.yyyy * HH:mm:ss" );
einlesen();
}
public void einlesen(){
// Lies Textzeilen aus der Datei in einen Vector:
try {
Thread.sleep(1000); //5min=300.000ms
} catch (InterruptedException ex) {}
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(
new FileInputStream( "wetterdaten.txt" )));
while( null != (s = in.readLine())) {
vec.add(s);
}
in.close();
} catch(FileNotFoundException ex) {
vec.add(" ");
// Entfernt Dublikate
Set set = new HashSet(vec);
vec = new Vector(set);
System.out.println("wetterdaten.txt defekt!");
} catch(Exception ex) {
System.out.println( ex );
}
s = vec.lastElement().toString();
System.out.println("Sytem aktiv");
if(vec.size()>1) {
//String Aufspalten
String s1 = s. substring ( 8,11 );
String s2 = s. substring ( 12,16 );
String s3 = s. substring ( 18,22 );
String s4 = s. substring ( 24,28 );
s = zeitstempel.format(new Date())+" * Windrichtung "+s1
+"° * Windgeschwindigkeit "+s2+"m/s * Temperatur "
+s3+"°C * Luftfeuchte "+s4+"% *";
sTMP=s;
System.out.println(sTMP);
}
s = sTMP;
}
public void paint(Graphics screen){
Graphics2D screen2D = (Graphics2D)screen;
setBackground(Color.white);
Font f = new Font("Arial", Font.BOLD, 12);
screen2D.setFont(f);
screen2D.setColor(Color.black);
screen2D.drawString(zeitstempel.format(new Date()), 100F, 100F);
screen2D.setColor(Color.blue);
screen2D.drawString("Windrichtung "+s1+"°", 100F, 120F);
screen2D.setColor(Color.blue);
screen2D.drawString("Windgeschwindigkeit "+s2+"m/s", 100F, 130F);
screen2D.setColor(Color.blue);
screen2D.drawString("Temperatur "+s3+"°C", 100F, 140F);
screen2D.setColor(Color.blue);
screen2D.drawString("Luftfeuchte "+s4+"%", 100F, 150F);
screen2D.drawImage(img, 20,20, this);
}
}