<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網(wǎng)站

    搜索

    •  

    最新評論

    大家好,我是尋覓:??????????????????????????????????????????????????????????????????????????????????????????????????????? 代碼下載
    ????????
    ????????????????? 大家元宵快樂?。?!我這次拿這個代碼改了一下,希望大家喜歡!
    使用方法前一篇文章講過就不多說了。這里主要介紹:java的元宵快樂閃光字。還有,
    初步解釋了applet 執(zhí)行過程 與 this 抽象數(shù)據(jù)類型

    代碼:

    ??1 import ?java.awt. * ;
    ??2 import ?java.util. * ; // timer
    ??3
    ??4 public ? class ?yuanxiao? extends ?java.applet.Applet? {
    ??5 ???? private ?Timer?timer;?????????????? // ?閃光進(jìn)度計時器
    ??6 ???? private ?String?labelString;??????? // ?閃光標(biāo)簽
    ??7 ???? private ? int ?delay;???????????????? // ?閃光進(jìn)度
    ??8
    ??9 ???? public ? void ?init()? {?????????????????????????? // 這里是初始化,顧名思義,是對前面定義的參數(shù)進(jìn)行
    ?10 ????????????????????????????????????????????????? // 賦值,也稱初始化
    ?11 ?????????????????????????????????????????????????
    ?12 ????????String?blinkFrequency? = ?getParameter( " speed " );????????? // 獲取參數(shù)speed(這是applet變量獲取參數(shù)的方法啊)
    ?13 ????????delay? = ?(blinkFrequency? == ? null )? ? ? 400 ?:?( 1000 ? / ?Integer.parseInt(blinkFrequency)); // 判斷,事現(xiàn)閃爍頻率
    ?14 ????????labelString? = ?getParameter( " lbl " );?????? // 獲取來自調(diào)用這個Applet的HTML文件,的參數(shù)lbl,要顯示給大家看的內(nèi)容
    ?15 ???????? if ?(labelString? == ? null )
    ?16 ????????????labelString? = ? " Blink " ;?????????????? // 判斷,如果lbl沒接收到參數(shù),則賦值
    ?17 ????????Font?font? = ? new ?java.awt.Font( " Serif " ,?Font.PLAIN,? 24 ); // 設(shè)置文字屬性
    ?18 ????????setFont(font);
    ?19 ????????
    ?20 ????????
    ?21 ??????????????????????????????????????????????
    ?22 ????}

    ?23
    ?24 ???? public ? void ?start()? {??????? // 這里說起來有點(diǎn)無聊,因?yàn)樗坪踹@里面的內(nèi)容可以放到init()里面
    ?25 ??????????????????????????????? // 因?yàn)槲矣X得這樣好象能提高效率。這個問題我還會繼續(xù)研究下去的,希望
    ?26 ??????????????????????????????? // 能給大家一個說法,如果您有什么想法,請留言,還望不吝賜教!
    ?27 ?????
    ?28 ??????timer? = ? new ?Timer();????? // 創(chuàng)建計時器
    ?29 ????????timer.schedule( new ?TimerTask() // 這里可以看的timer的作用,它可以通過創(chuàng)建一個計時器任務(wù)來周期性地運(yùn)行run()函數(shù)
    ?30 ????????? {?
    ?31 ???????????? public ? void ?run()? {??
    ?32 ????????????????repaint();
    ?33 ????????????}

    ?34 ????????}

    ?35 ????????????,?delay,?delay); // 指定timer的執(zhí)行時間delay,和執(zhí)行各后續(xù)任務(wù)之間的時間間隔delay??????????????????????????
    ?36 ???????
    ?37 ????}

    ?38
    ?39 ???? public ? void ?paint(Graphics?g)? {?????????????????? // 這里是核心函數(shù),注意applet沒有main函數(shù),原因我覺得applet是
    ?40 ???????????????????????????????????????????????????? // 基于web的html開發(fā)的,運(yùn)行在客戶機(jī)上,解決網(wǎng)絡(luò)不流暢的問題
    ?41 ???????????????????????????????????????????????????? // 所以,從網(wǎng)絡(luò)角度講applet被設(shè)計成一種好象數(shù)據(jù)流的東西,將
    ?42 ???????????????????????????????????????????????????? // 核心代碼夾在start()和stop()之間,函數(shù)名可以隨便起,不影響
    ?43 ???????????????????????????????????????????????????? // 代碼的運(yùn)行。
    ?44 ???????? int ?fontSize? = ?g.getFont().getSize();???????? // 這里獲取(Graphics?g)中的g,字體大小24
    ?45 ???????? /*
    ?46 ????????這里有些東西要講清楚:
    ?47 ????????大家看(Graphics?g)是不是有點(diǎn)類似于常用的main的(String[]?args)
    ?48 ????????這些是參數(shù),用于接收外來的東西;在這里,其實(shí)就是paint用來接收外界給它信息的接口,
    ?49 ????????這是有人就會問,那函數(shù)怎么發(fā)送信息啊?通過返回值也就是函數(shù)內(nèi)的return函數(shù)。
    ?50 ????????另一個角度看這個問題,Graphics?g本身也是變量的定義,有點(diǎn)像:我們在函數(shù)體內(nèi)寫
    ?51 ????????Graphics?g;道理是一樣的,只不過放在paint()里多了個功能,能接收外來的參數(shù)而已;
    ?52 ????????如,paint(***);這樣寫就把***傳給了paint().
    ?53 ???????? */

    ?54 ????????
    ?55 ???????? int ?x? = ? 0 ,?y? = ?fontSize,?space;?????????? // 定義三個int變量,其中y為字體大小24
    ?56 ???????? int ?red? = ???( int )?(? 50 ? * ?Math.random()); // 調(diào)用math的隨機(jī)函數(shù)ramdom
    ?57 ???????? int ?green? = ?( int )?(? 50 ? * ?Math.random()); // 產(chǎn)生三原色
    ?58 ???????? int ?blue? = ??( int )?( 256 ? * ?Math.random());
    ?59 ????????Dimension?d? = ? this .getSize();????????????? // 獲取單個字體的高和寬
    ?60 ???????? /*
    ?61 ?????????這里原來是“Dimension?d?=?getSize()”;,本人做了修改是為了闡述網(wǎng)友關(guān)于this問題,
    ?62 ????????我們知道在其他的計算機(jī)語言中,很少見到this這種抽象數(shù)據(jù)類型(有人說this是關(guān)鍵字
    ?63 ????????,這樣講未免過于籠統(tǒng)),這是java獨(dú)有的;從這個例子中我們可以看到,有沒有this都一樣,
    ?64 ????????所以也就能推出
    ?65 ??????????????????????this?=?(Graphics?g)?????????
    ?66 ????????這樣講大家就明白了,this就是用于調(diào)用本函數(shù)接口的;
    ?67 ????????如,我定義函數(shù)
    ?68 ????????????????void?test(int?a?,?Stirng?b){
    ?69 ????????????????//現(xiàn)在我用this來調(diào)用接口中的變量;
    ?70 ????????????????this.a?=?a;
    ?71 ????????????????this.b?=?b;
    ?72 ????????????????//這樣寫似乎有點(diǎn)傻瓜,大家會覺得毫無意義
    ?73 ????????????????//但如果你玩過C你就會知道,這樣寫起來方便
    ?74 ????????????????//在C里我們會這樣寫:
    ?75 ????????????????//int?aa?=?a;
    ?76 ????????????????//char[]?bb?=?b;
    ?77 ????????????????//這樣大家就看到了,用this時,我們可以省去,從新定義變量的無奈
    ?78 ????????????????//簡化了我們的程序。
    ?79 ????????????????//只要你接觸過另一個抽象數(shù)據(jù)類型super,你就會清楚這個特性其實(shí)也是
    ?80 ????????????????//java類封裝所應(yīng)具有的特性。
    ?81 ????????????????}??
    ?82 ????????????????
    ?83 ????????????????下面是核心算法?????
    ?84 ????????
    ?85 ???????? */

    ?86 ????????g.setColor(Color.black);????????????????? // 設(shè)置字體顏色為黑色
    ?87 ????????FontMetrics?fm? = ?g.getFontMetrics();?????? // 建立字形的信息函數(shù)
    ?88 ????????space? = ?fm.stringWidth( " ? " );?????????????? // 建立一個已經(jīng)獲取字符串的寬度的變量:space=0;
    ?89 ???????? for ?(StringTokenizer?t? = ? new ?StringTokenizer(labelString);?t.hasMoreTokens();)?
    ?90 ???????? // 既然是變化當(dāng)然離不開循環(huán)了?,于是這里用到了for(字符串初始特征;更多特征;無內(nèi)容)
    ?91 ???????? // 從這里我們就知道,這個for每做一次會不斷獲取字符串信息
    ?92 ???????? {
    ?93 ????????????String?word? = ?t.nextToken();?????????? // 將字符串的下一個特征賦給word
    ?94 ????????????
    ?95 ???????????? int ?w? = ?fm.stringWidth(word)? + ?space; // 使用word和space
    ?96 ???????????? // 下面的內(nèi)容我想講起來比較抽象,還是得靠大家自己動動腦子,英文注釋保留給大家
    ?97 ???????????? // 中文詳細(xì)解釋,過一段日子會我補(bǔ)上的,請大家放心,呵呵
    ?98 ???????????? if ?(x? + ?w? > ?d.width)? {
    ?99 ????????????????x? = ? 0 ;
    100 ????????????????y? += ?fontSize;??????? // move?word?to?next?line?if?it?doesn't?fit
    101 ????????????}

    102 ???????????? if ?(Math.random()? < ? 0.5 )
    103 ????????????????g.setColor( new ?java.awt.Color((red? + ?y * 30 )? % ? 256 ,?
    104 ??????????????????????????????????????????????(green? + ?x / 3 )? % ? 256 ,?blue));
    105 ???????????? else
    106 ????????????????g.setColor(getBackground());
    107 ????????????g.drawString(word,?x,?y);
    108 ????????????x? += ?w;?? // shift?to?the?right?to?draw?the?next?word
    109 ????????}
    // for結(jié)束
    110 ????}

    111 ????
    112 ???? public ? void ?stop()? {
    113 ????????timer.cancel();?? // 關(guān)閉記時器
    114 ????}

    115
    116 /* 下面的代碼實(shí)際上沒有用到,我在這里將他屏蔽
    117
    118 ????public?String?getAppletInfo()?{
    119 ????????return?"Title:?Blinker\n"
    120 ????????????+?"Author:?Arthur?van?Hoff\n"?
    121 ????????????+?"Displays?multicolored?blinking?text.";
    122 ????}
    123 ????
    124 ????public?String[][]?getParameterInfo()?{???//這是java二維數(shù)組,返回其頭指針
    125 ????????String?pinfo[][]?=?{
    126 ????????????{"speed",?"string",?"The?blink?frequency"},
    127 ????????????{"lbl",?"string",?"The?text?to?blink."},
    128 ????????};
    129 ????????return?pinfo;
    130 ????} */

    131 }

    132
    133


    HTML文件:

    ?1 < html >
    ?2 ?? < head >
    ?3 ?????? < title > Blinking?Text </ title >
    ?4 ?? </ head >
    ?5 ?? < body >
    ?6 ?????? < h1 > 元宵快樂閃光字 </ h1 >
    ?7 ?????? < hr >
    ?8 ?????? < applet? code ="yuanxiao.class" ?width =780? height =100 >
    ?9 ???????? < param? name =lbl? value ="這是給大家的元宵小禮物??呵呵!
    10 ???????????????????大??家??元??宵??快??樂??啊?!" >
    11 ?????????? < param? name =speed? value ="4" >
    12 ????????????alt="Your?browser?understands?the? &lt; APPLET &gt; ?tag?but?isn't?runni
    13 ??????????????????????????????ng?the?applet,?for?some?reason."
    14 ????????????Your?browser?is?completely?ignoring?the? &lt; APPLET &gt; ?tag!
    15 ?????? </ applet >
    16 ?????? < hr >
    17 ?????? < a? href ="yuanxiao.java" ?temp_href ="yuanxiao.java" > The?source. </ a >
    18 ?? </ body >
    19 </ html >
    20




    ?



    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-03-05 14:30 小尋 閱讀(610) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲综合无码无在线观看 | 久久久免费观成人影院| 免费高清小黄站在线观看| 亚洲一级毛片免费在线观看| 久草免费在线观看视频| 91亚洲导航深夜福利| 91香焦国产线观看看免费 | 亚洲精品国产首次亮相| 午夜影视在线免费观看| 国产区图片区小说区亚洲区| 免费一级特黄特色大片在线观看 | 77777午夜亚洲| 大学生a级毛片免费观看| 亚洲AV无码一区二区大桥未久 | 成人久久免费网站| 亚洲AV永久无码精品一百度影院 | 国产一级淫片视频免费看| 免费看黄网站在线看| 日韩亚洲一区二区三区| 91久久青青草原线免费| 亚洲乱码在线观看| 亚洲国模精品一区| 男人都懂www深夜免费网站| 亚洲日韩图片专区第1页| 免费电视剧在线观看| 久久久亚洲精华液精华液精华液| 夜色阁亚洲一区二区三区| 久久精品免费大片国产大片| 亚洲专区先锋影音| 美女黄网站人色视频免费国产 | 久久影视国产亚洲| 无码日韩精品一区二区免费暖暖 | 久久久久亚洲精品无码蜜桃| 四虎国产精品免费久久| 久香草视频在线观看免费| 亚洲宅男永久在线| 免费中文字幕在线| free哆啪啪免费永久| 黄色a级免费网站| 亚洲首页在线观看| www.亚洲色图.com|