1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Java Applet: Zähler?!!

Discussion in 'Programmieren' started by GameGod, Jun 13, 2006.

Thread Status:
Not open for further replies.
  1. GameGod

    GameGod Byte

    Hi,

    hab ne Frage zur Gestaltung meiner Homepage:

    Kennt jemand einen Script, der sozusagen bei der Zahl "0" Anfängt und beispielsweise im Sekundentakt immer +1 rechnet?

    Hab schon versucht mit dem Javascript, der die Uhrzeit anzeigt,
    es so umzustellen, das es zählt: funktioniert net.

    Also das ganze soll dann in einem Tabellen kästchen sein
    und dann zählen: 1,2,3,4,5......

    Gibt es sowas?

    Wäre bei Hilfe sehr dankbar!
     
  2. enschman

    enschman Megabyte

    Hi,

    dein Versuch des Uhrzeit-Skript umzubearbeiten, hätte sicherlich leicht geklappt, wenn du ganz einfach für eine Variable mitm aktuellen Zähler erstellst und diese immer um eins erhöhst und ausgibst. Die ganzen Daten für die Uhrzeit einfach rauslöschen. Ausserdem gibts dafür jede Menge Skripts, einfach mal Googen....

    mfg Tenschman
     
  3. GameGod

    GameGod Byte

    Jo, danke für die Antwort, aber...

    ...sorry, hab vergessen zu sagen, dass ich schon gegoogelt
    hab!

    ...ich habs probiert, bekomme aber nichts angezeigt!
     
  4. L-ectron-X

    L-ectron-X Guest

    Hier mal der Quellcode für ein Java-Applet, welches ich für dich geschrieben habe. Es enthält die Funktionen, die du suchst.
    Im Anhang die Sourcecodes und das aus zwei .class-Dateien bestehende fertig kompilierte Applet

    PHP:
    import java.applet.Applet;
    import java.awt.Font;
    import java.awt.FontMetrics;
    import java.awt.Graphics;
    import java.awt.Color;

    public class 
    SecondCounter extends Applet {
       private 
    Font font;
       private 
    long seconds;
       private 
    Timer timer;
       private 
    Color foregroundbackground;
       
       public 
    void init() {
          
    createFont();
          
    createColor();
          
    setBackground(background);
       }
       
       public 
    void start() {
          if(
    timer == null)
             
    timer = new Timer();
          
    timer.start();
       }
       
       public 
    void stop() {
          
    timer.interrupt();
          
    timer null;
       }
       
       private 
    void createFont() {
          
    String fontName null;
          if((
    fontName getParameter("Font")) == null)
             
    fontName "Arial";
             
          
    String str null;
          
    int style Font.PLAIN;
          if((
    str getParameter("Style")) != null) {
             
    str str.toUpperCase();
             if(
    str.equals("BOLD") || str.equals("FETT"))
                
    style Font.BOLD;
             else if(
    str.equals("ITALIC") || str.equals("KURSIV"))
                
    style Font.ITALIC;
             else
                
    style Font.PLAIN;
          }
          
          
    int size 12;
          try {
             if((
    str getParameter("Size")) != null)
                
    size Integer.parseInt(str);
          }
          catch(
    NumberFormatException e) {
             
    System.out.println("Der Applet-Parameter für die Schriftgroesse erwartet eine Ziffer!");
             
    System.out.println("Bsp.: <param name=\"Size\" value=\"12\">");
          }
          
          
    font = new Font(fontNamestylesize);
       }
       
       private 
    void createColor() {
          
    String str null;
          
    background Color.WHITE;
          try {
             if((
    str getParameter("Background")) != null)
                
    background = new Color(Integer.parseInt(str16));
          }
          catch(
    NumberFormatException e) {
             
    System.out.println("Der Applet-Parameter für die Hintergrundfarbe erwartet eine Hexadezimalzahl!");
             
    System.out.println("Bsp.: <param name=\"Background\" value=\"FF9955\">");
          }
          
          
    str null;
          
    foreground Color.BLACK;
          try {
             if((
    str getParameter("Foreground")) != null)
                
    foreground = new Color(Integer.parseInt(str16));
          }
          catch(
    NumberFormatException e) {
             
    System.out.println("Der Applet-Parameter für die Vordergrundfarbe erwartet eine Hexadezimalzahl!");
             
    System.out.println("Bsp.: <param name=\"Foreground\" value=\"00AA55\">");
          }
       }
       
       public 
    void paint(Graphics g) {
          
    g.setFont(font);
          
    g.setColor(foreground);
          
    g.drawString(String.valueOf(seconds), 0g.getFontMetrics().getHeight());
       }
       
       class 
    Timer extends Thread {
          public 
    void run() {
             while(!
    isInterrupted()) {
                try {
                   
    Thread.sleep(1000);
                   
    seconds++;
                   
    repaint();
                }
                catch(
    InterruptedException e) {
                   
    interrupt();
                }
             }
          }
       }
    }
    Du kannst das Aussehen (Schriftart, Schriftfarbe und Hintergrundfarbe) des Applets von außen bequem über die Applet-Parameter ändern und damit an das Layout deiner Webseite anpassen.

    Hier mal ein Beispiel:
    PHP:
    <html>
    <
    head>
    <
    title>SecondCounter</title>
    </
    head>
    <
    body>
    <
    applet code="SecondCounter.class" width="40" height="25">
    <
    param name="Font" value="Verdana">
    <
    param name="Style" value="fett">
    <
    param name="Size" value="14">
    <
    param name="Background" value="FF9955">
    <
    param name="Foreground" value="00AA55">
    </
    applet>
    </
    body>
    </
    html>
    Wenn du keine Parameter im Applet-Tag festlegst, werden Standardwerte gesetzt.
    Schriftart: Arial
    Schriftstil: Plain (normal)
    Schriftgröße: 12
    Hintergrundfarbe: Weiß
    Schriftfarbe: Schwarz
     

    Attached Files:

  5. kalweit

    kalweit Hüter der Glaskugel

    Wer wird denn gleich mit Kanonen auf Spatzen... - ein Dreizeiler in JavaScript sollte es auch tun.

    Code:
    <html>
    <head>
    </head>
    <body>
    <div id="zaehler">0</div>
    
    <script>
    
    i=0;
    
    function plus() {
    i++;
    document.getElementById("zaehler").innerHTML=i;
    window.setTimeout("plus()",1000);
    }
    
    plus();
    </script>
    
    </body>
    
    </html>
    
    PS: <div> kann auch ein <td> einer Tabelle oder was auch immer sein.
     
  6. GameGod

    GameGod Byte

    Cool danke für eure Bsp.! Ich danke euch vielmals, funktioniert!

    Aber eine Frage habe ich noch zu dem Dreizeiligem JavaScript:

    Es zählt zwar, aber immer wenn ich die Seite neu anmache, fängts wieder bei null an...Gibt es einen Script dazu der das speichert?
     
  7. kalweit

    kalweit Hüter der Glaskugel

    Nicht wirklich. Mögliche Ansätze:

    * Das Zählerscript läuft in einem versteckten Frame (mit allen Nachteilen eines Frameset).
    * Du leitest alle Links über ein JavaScript um, dass beim Klick den aktuellen Wert mit an die URL schreibt und die nächste Seite dies auswertet
    * Du speicherst den Timestamp des ersten Aufrufes deiner Seite in einem Sitzungs-Cookie und startest den Zähler um den Timestamp korregiert (die Lösung würde ich bevorzugen)

    PS: Programmieren musst du nun selber ;)
     
Thread Status:
Not open for further replies.

Share This Page