002
20.07.2003, 21:08 Uhr
worst_case
|
Abend,
hier mal mein Code. Ich lese von einem anderen Applet Daten als String ein. Wandle diese als Long um, suche das passende Bit heraus (laut Parameter) und entscheide dann welches Bild (Parameter) angezeigt wird. Das Prog funkt bis longwert = (long)Double.parseDouble(stringwert); Wenn ich die Zeile auskommentiere dann wird ein Bild geladen. Wenn ich es aktiviere dann wird kein (warum) Bild geladen. Ich weiß mir keinen Rat mehr. Übrigens wenn ich mit showStatus den stringwert ausgebe, dann ist das auch eine Zahl... das sollte also funktionieren.
C++: |
import java.awt.*; import java.applet.*; import java.net.*;
public class switch_pic extends Applet implements Runnable { private String stringwert; private long longwert; private int bit; private int zeilennummer; private String servername; private Image img; private URL adr0; private URL adr1; Thread t; boolean running; //############################################################################
public void start() { if (t==null) { running = true; t = new Thread(this); t.start(); } }
//############################################################################
public void stop() { if (t!=null) { running = false; t = null; } }
//############################################################################
public void run() { while(running) { try { Thread.sleep(5000); } catch (Exception e) { } repaint(); } }
//############################################################################
public void paint (Graphics g) { long bitwert;
try { Applet applet = getAppletContext().getApplet(servername); if (applet != null && applet instanceof server) { stringwert = ((server)applet).slaveData(zeilennummer); longwert = (long)Double.parseDouble(stringwert); bitwert = (longwert & (bit << 1)); if (bitwert == 0) { img = getToolkit().getImage(adr0); } else { img = getToolkit().getImage(adr1); } if (img !=null) { g.drawImage(img,0,0,this); } } } catch (Exception e) { showStatus("Fehler bei Applet switch_pic.class"); } } //############################################################################
public void update (Graphics g) { paint (g); }
//############################################################################ public void init() { String param; String pic0; String pic1; //############# Servername beschreiben ################################################ servername = getParameter("servername"); //############# Bildadressen laden ################################################ param = getParameter("pic0"); if (param == null) { pic0 = "/gif/default.gif"; } else { pic0 = param; } param = getParameter("pic1"); if (param == null) { pic1 = "/gif/default.gif"; } else { pic1 = param; } // ########### Zeilennummer ##############################
param = getParameter("wert"); if ( param != null ) { zeilennummer = (Integer.parseInt(param)); // Zeilennummer } else { zeilennummer = 1; // default Zeile 1 } // ########### bit Nummer ##############################
param = getParameter("bit"); if ( param != null ) { bit = (Integer.parseInt(param)); // bitnummer } else { bit = 0; // default bitnummer 0 } // ########### Adressen fuer Bilder vorbereiten ########################### try { adr0 = new URL (getDocumentBase() , pic0); adr1 = new URL (getDocumentBase() , pic1); } catch(Exception e) { showStatus("Bildadresse fehlerhaft bei INIT"); }
}
}
|
Danke worst_case
Bearbeitung: |
Code Tags gesetzt
|
Dieser Post wurde am 21.07.2003 um 11:08 Uhr von Loddab editiert. |