騎豬闖天下

          J2ME隨筆,記錄成長(zhǎng)的腳步

          統(tǒng)計(jì)

          留言簿(3)

          閱讀排行榜

          評(píng)論排行榜

          [J2ME-原創(chuàng)]波浪字體效果代碼

          波浪字體效果代碼,這是自己早期時(shí)研究的一個(gè)效果代碼,代碼比較完整,新建工程把類加進(jìn)去即可看出效果。

          全部代碼如下:
          /**
           * @function: 波浪字體效果代碼.
           * 
          @author:   杜長(zhǎng)風(fēng)
           * @time:       080710
           
          */

          import javax.microedition.lcdui.*;
          import javax.microedition.midlet.*;

          public class DrawCanvas extends MIDlet implements CommandListener {
              
          private Command exitCommand;
              
          private HCanvas sg;
              
              
          public DrawCanvas() 
              
          {
                  exitCommand 
          = new Command("Exit", Command.EXIT, 1);
                  sg 
          = new HCanvas();
                  sg.addCommand(exitCommand);
                  sg.setCommandListener(
          this);
                  Display.getDisplay(
          this).setCurrent(sg);
              }

              
              
          protected void startApp(){
              }

              
              
          protected void pauseApp() {
              }

              
              
          protected void destroyApp(boolean arg0)
              }

              
              
          public void commandAction(Command c, Displayable d) {
                  
          if (c == exitCommand) 
                  destroyApp(
          false); 
                  notifyDestroyed();
                  }

              }
           
          }



          class HCanvas extends Canvas implements Runnable
          {
              
          //要顯示的字符
              private String str=new String("W  E L C O M  E");
              
              
          //上下浮動(dòng)的高度序列.
              private int[] ak={1,2,3,4,5,6,7,8,7,6,5,4,3,2,1,2,3,4,5,6,7,8,7,6,5,4,3,2};
              
              
          boolean kaishi=true;
              
              
          //設(shè)置循環(huán)標(biāo)志位,一定要>=字符串長(zhǎng)度.
              private int k=15;

              
          public HCanvas (){
                  
          new Thread(this).start();
              }
           

              
          protected void paint(Graphics g){
                  g.setColor(
          220);
                  g.fillRect(
          0,0,getWidth(),getHeight());
                  g.setColor( 
          255255,255);
                  Font font 
          = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_UNDERLINED,Font.SIZE_MEDIUM); 
                  g.setFont(font);

                  
          /**
                   * 1.畫(huà)字符串,是一個(gè)字符一個(gè)字符畫(huà)上去的.
                   * 2."20+i*5",是橫坐標(biāo),及字間距的寬度
                   * 3."40-ak[k-i]",是縱坐標(biāo),及上下浮動(dòng)的高度.注意:一個(gè)ak周期的長(zhǎng)度,即:1->8->1共15一定
                   *      要大于至少等于循環(huán)標(biāo)志位長(zhǎng)度.即:
                   *         字符串長(zhǎng)度<=循環(huán)標(biāo)志位長(zhǎng)度<=ak周期長(zhǎng)度<=ak至少有兩個(gè)周期.
                   * 
                   * 4.經(jīng)過(guò)測(cè)試,在字符串小于15個(gè)時(shí),以上數(shù)字參數(shù)最佳.
                   * 
                   
          */

                  
          for(int i=0;i< str.length();i++){
                      g.drawString(str.substring(i,i
          +1),   80+i*5,    40-ak[k-i],    0);                        
                      System.out.println(
          "ak[k-i] = " + ak[k-i] );
                  }
           
                  System.out.println(
          "********************************" );
              }

              
              
          public void run(){
                  
          while(kaishi){
                      
          try {
                          repaint(); 
          //再描繪
                          Thread.sleep(100); //等待一定時(shí)間
                          k++;        //循環(huán)參數(shù),ak至少有兩個(gè)周期,即至少是2倍K的值.
                          if(k>(ak.length-1)) 
                              k
          =15;   //從新開(kāi)始循環(huán).
                      }
          catch(InterruptedException e){}
                  }
           
              }

          }
           

          posted on 2010-03-05 13:56 騎豬闖天下 閱讀(387) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 凭祥市| 镇坪县| 定安县| 济源市| 开原市| 阜宁县| 上思县| 方城县| 宁夏| 马尔康县| 云林县| 嘉祥县| 普兰县| 司法| 偏关县| 竹山县| 淮安市| 合肥市| 井冈山市| 沂水县| 平远县| 通州市| 隆尧县| 玛纳斯县| 贡嘎县| 金寨县| 历史| 晋城| 宜都市| 罗甸县| 渝北区| 文成县| 永顺县| 石景山区| 潜山县| 衡南县| 兰州市| 襄汾县| 阿尔山市| 封开县| 长寿区|