On Sat, Jun 30, 2001 at 08:19:19PM +0200, Damir Dezeljin wrote:

> delam diplomo, v sklopu katere moram narediti tudi par java appletov ...
> applet kot parameter, vendar tega za enkrat ne znam naredit ... ce je
> kdo tako prijazen, bi ga prosil da mi napise kako bi lahko doloceno
> vrstico podal v HTML tag ... torej <... PARM="<vrstica>" ...> Ta vrstica

Prilagam en primer.
/**
 * TekociTekst<br>
 * programček za prikaz animiranega
 * besedila, ki se pretaka od desne
 * proti levi
 *
 * @author Uro� Mesojedec
 * @version 1.0
 */
import java.awt.*;

public class TekociTekst extends java.applet.Applet implements Runnable {

  int sirina, visina;
  int visinaPisave;
  int sirinaBesedila;
  int zakasnitev;
  int x = 0;

  String besedilo;
  String imePisave;
  Font pisava;
  Thread animiraj;

  // informacijski metodi

  public String getAppletInfo() {
    return "TekociTekst 1.0, (c) 1996 U.M.";
  }

  public String[][] getParameterInfo() {
    String[][] info = { 
      {"besedilo", "niz", "tekoce besedilo"},
      {"pisava", "niz", "ime uporabljene pisave"},
      {"velikost", "int", "visina znakov v tockah"},
      {"hitrost", "int", "hitrost premikanja kot zakasnitev v ms"} };
    return info;
  }
  
  
  // �ivljenski cikel

  public void init() {
    sirina = size().width;
    visina = size().height;
    x = sirina;

    // branje parametrov
    String tmp = getParameter("pisava");
    imePisave = (tmp == null) ? "Helvetica" : tmp;
    
    tmp = getParameter("besedilo");
    besedilo = (tmp== null) ? "(brez parametra)" : tmp;
    
    tmp = getParameter("hitrost");
    zakasnitev = (tmp == null ) ? 100 : Integer.valueOf(tmp).intValue();

    tmp = getParameter("velikost");
    int velikost = (tmp == null ) ? 18 : Integer.valueOf(tmp).intValue();

    pisava = new Font(imePisave, Font.PLAIN, velikost);
    visinaPisave = getFontMetrics(pisava).getAscent() - getFontMetrics(pisava).getDescent();
    sirinaBesedila = getFontMetrics(pisava).stringWidth(besedilo);
 }
  
  
  public void start() {
    // pro�enje niti
    if (animiraj == null) animiraj = new Thread(this);
    animiraj.start();
  }

  
  public void stop() {
    // zaustavitev niti
    if (animiraj != null) animiraj.stop();
    animiraj = null;
  }

  
  public void run() {
    // potek izvajanja niti
    while (animiraj != null) {
      try {
          Thread.sleep(zakasnitev);
      } catch (InterruptedException e) {
          break;
      }

      x = x - 5;
      if (x < - sirinaBesedila) x = sirina;
      repaint();
      showStatus("Tekoce besedilo");
    }
  }

  
  public void setFontSize(int visina) {
    pisava = new Font(imePisave, Font.PLAIN, visina);
    visinaPisave = getFontMetrics(pisava).getAscent() - getFontMetrics(pisava).getDescent();
    sirinaBesedila = getFontMetrics(pisava).stringWidth(besedilo);
    repaint();
  }


  // upodobitev vsebine
  
  public void paint(Graphics g) {
    g.setFont(pisava);
    g.drawString(besedilo, x, 
      (visina + visinaPisave) / 2); //+ Math.round((float)Math.random()*2 - 1) );

  }
}
Title: Nadzor program�ka
Tekoce vmes.


  

Reply via email to