Loading:


    Tekst wpływający raz z jednej, raz z drugiej strony

    Skrypt tworzy Aplet Java wyświetlający tekst wpływający raz z jednej raz drugiej strony.

    Aby stworzyć Aplet Java tworzymy najpierw kod Java w pliku plik.class a następnie tworzymy odwołanie do niego w HTML poprzez znacznik <aplet></aplet>



    Napisz Artyku³

    Listing


    // HTML

    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <APPLET
            code      = "kodJava.class"
            text1     = "Przykładowy tekst..."
            text2     = "Jeszcze jeden tekst..."
            text3     = "Kolejny przykład tekstu..."
            textsNo   = "3"
            fontsize  = "30"
            speedstep = "1"
            width     = "640"
            height    = "100">
    </APPLET>
    <BODY>
    </HTML>


    //KOD kodJava.class

    import java.awt.*;
    import java.applet.*;
    import java.util.*;

    public
    class FlowString extends Applet implements Runnable
    {
      int mX, y, speedStep, currText = 0;
      int appWidth, appHeight;
      int strWidth, strHeight, strMaxDescent;
      int direction = 0;
      String[] textsArr;
      String sText, mText;
      Font fontTimesRoman;
      Image img;
      Graphics gDC, mDC;
      boolean stopped = false;
      public void init()
      {
        String strTextsNo;
        int textsNo;

        if((strTextsNo = getParameter("textsNo")) == null)
          strTextsNo = "2";

        try{
            textsNo = Integer.parseInt(strTextsNo);
        }
        catch(Exception e){
          textsNo = 2;
        }

        textsArr = new String[textsNo];

        String str;

        for(int i = 1; i <= textsNo; i++){
          if((str = getParameter("text" + i)) == null)
            str = "Brak parametru text" + i + "!";
          textsArr[i - 1] = str;
        }

        String strFontSize;
        int fontSize;
        if((strFontSize = getParameter("fontsize")) == null)
          strFontSize = "36";

        try{
            fontSize = Integer.parseInt(strFontSize);
        }
        catch(Exception e){
          fontSize = 36;
        }

        String strSpeedStep;
        if((strSpeedStep = getParameter("speedstep")) == null)
          strSpeedStep = "1";

        try{
            speedStep = Math.abs(Integer.parseInt(strSpeedStep));
        }
        catch(Exception e){
          speedStep = 1;
        }

        mText = textsArr[0];

        appWidth = getWidth();
        appHeight = getHeight();

        fontTimesRoman = new Font ("TimesRoman", Font.BOLD, fontSize);
        img = createImage(appWidth, appHeight);
        mDC = img.getGraphics();
        gDC = getGraphics();

        gDC.setFont(fontTimesRoman);
        resetText();
      }
      public void start()
      {
        Thread thread = new Thread (this);
        thread.start();
      }
      public void stop()
      {
        stopped = true;
      }
      public void resetText()
      {
        FontMetrics fm = gDC.getFontMetrics();
        strHeight = fm.getHeight();
        strWidth = fm.stringWidth(mText);
        strMaxDescent = fm.getMaxDescent();
        if (direction == 0){
          mX = appWidth;
        }
        else if (direction == 1){
          mX = -strWidth;
        }
        y = (int)((appHeight + strHeight) / 2);
      }
      public void run()
      {
        while (!stopped){
          if(direction == 0){
            if (mX < -strWidth){
              if(++currText >= textsArr.length)
                currText = 0;
              mText = textsArr[currText];
              direction = 1;
              resetText();
            }
            mX -= speedStep;
          }
          else if (direction == 1){
            if (mX > appWidth){
              if(++currText >= textsArr.length)
                currText = 0;
              mText = textsArr[currText];
              direction = 0;
              resetText();
            }
            mX += speedStep;
          }

          try{
            Thread.sleep(1);
          }
          catch (InterruptedException e){
          }
          mDC.setColor(Color.white);
          mDC.fillRect(0, 0, appWidth, appHeight);
          mDC.setColor (Color.blue);
          mDC.setFont (fontTimesRoman);
          mDC.drawString (mText, mX, y);
          gDC.drawImage (img, 0, 0, this);
        }
      }
    }

     




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors