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

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

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

    posts - 28, comments - 27, trackbacks - 0, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    2006年9月27日

    再也無(wú)法忍受無(wú)法在Firefox下面寫(xiě)blog的痛苦,再加上這里緩慢的網(wǎng)速~~~于是決定~~搬家

    新家地址:dearwolf.javaeye.com

    posted @ 2007-01-08 10:07 小小涼粉 閱讀(343) | 評(píng)論 (2)編輯 收藏

    默認(rèn)情況下,SWT的Table只會(huì)給整個(gè)Table設(shè)置Tooltip,要對(duì)每一個(gè)TableItem設(shè)置Tooltip的話,就要監(jiān)聽(tīng)鼠標(biāo)事件了:


    ????????table.addMouseTrackListener(
    new?MouseTrackAdapter()?{
    ????????????
    public?void?mouseHover(MouseEvent?event)?{
    ????????????????Point?pt?
    =?new?Point(event.x,?event.y);
    ????????????????
    int?index?=?table.getTopIndex();
    ????????????????
    while?(index?<?table.getItemCount())?{
    ????????????????????TableItem?item?
    =?table.getItem(index);
    ????????????????????
    for?(int?i?=?0;?i?<?table.getColumnCount();?i++)?{
    ????????????????????????Rectangle?rect?
    =?item.getBounds(i);
    ????????????????????????
    if?(rect.contains(pt))?{
    ????????????????????????????Object?object
    =?item.getData();
    ??????????????????????????? ........
    ????????????????????????}
    ????????????????????}
    ????????????????????index
    ++;
    ????????????????}
    ????????????}
    ????????});

    在省略號(hào)的地方就可以對(duì)對(duì)象進(jìn)行轉(zhuǎn)型了

    posted @ 2006-12-11 19:13 小小涼粉 閱讀(1967) | 評(píng)論 (4)編輯 收藏

    1、有人竟敢叫囂要“屠龍”

    上海某高校吳友富同志說(shuō):因?yàn)椤褒垺钡挠⑽摹癉ragon”,在西方世界被認(rèn)為是一種充滿霸氣和攻擊性的龐然大物。“龍”的形象往往讓對(duì)中國(guó)歷史和文化了解甚少的外國(guó)人由此片面而武斷地產(chǎn)生一些不符合實(shí)際的聯(lián)想,故提出龍可能不再適合代表中國(guó)。

    解讀:中 國(guó),一個(gè)有著上下幾千年文化歷史的國(guó)家,一個(gè)有著13億人口的大國(guó),一個(gè)曾經(jīng)以小米加步槍硬是趕跑了持著洋槍洋炮的侵略者的民族,一個(gè)英雄輩出的國(guó)家,為 什么連我們世代所敬仰的代表我中華兒女的標(biāo)志也要問(wèn)問(wèn)外國(guó)人是否合適?如果哪天他們說(shuō)我們的國(guó)旗、國(guó)歌他們不喜歡,我們也要更改嗎?

    所以我說(shuō)了,以后爸爸也該叫爹地了。今后大伙兒也別過(guò)春節(jié)了,一起過(guò)圣誕去;除夕也不要了,改在12月24日,叫平安夜。為啥?老外不喜歡!

    2、李銀河:換妻是公民合法權(quán)利

    喪夫性學(xué)家李銀河:“換妻是公民合法權(quán)利。一切東西都應(yīng)該要豐富多彩。如果家庭都只是一夫一妻這個(gè)模式,反而顯得過(guò)于單調(diào)”
      
    解讀:這話跟前些年“自愿的奴役是一種自由”這樣一個(gè)偽命題一樣不需要廢話。自愿為奴隸當(dāng)然是一種自由,但是它違背了自由這樣一個(gè)大前提。換妻當(dāng)然也是一種合法權(quán)利,但是它違背了一夫一妻制和《婚姻法》這個(gè)大前提。

    解讀:不過(guò)不知道李銀河愿不愿自己試一把。沒(méi)丈夫跟人換可以玩3P嘛


    3、自稱白居易后人的國(guó)學(xué)辣妹白鹿鳴

    “我最擅長(zhǎng)勾引人,孔子也不例外。我的一夜情值10萬(wàn),不過(guò)孔子說(shuō)食色性也,我去慰他籍千年的寂寞,他也一定是很高興的。”

    解讀: 不知道白居易知道有這樣的后人會(huì)不會(huì)氣的從棺材里爬出來(lái)。想出名,不是壞事。但是甩個(gè)大臉沾著祖宗的光還說(shuō)勾引誰(shuí)誰(shuí)誰(shuí)這樣的話就有點(diǎn)讓人倒胃口了。

    4、饒穎性愛(ài)日記

    饒大媽數(shù)年如一日地死纏猛打央視撥陰員趙老濕,起因據(jù)說(shuō)是趙老濕舍不得給饒穎3800塊錢,哎,何必呢?早知道今天這個(gè)場(chǎng)面,估計(jì)后面加上三個(gè)0,趙老濕也認(rèn)了。
      
    饒 穎日記(三)節(jié)選:有幾次在一起,他用刀割我的手臂,用針沾了他的唾沫扎我的陰部,說(shuō)是消毒。我痛得喊叫,他卻興奮不已地說(shuō):“寶貝,你不知道這樣做,我 有多快樂(lè),讓我扎扎吧。”“趙忠祥虐待成性,即使我在經(jīng)期,他也要與我發(fā)生關(guān)系。我不愿意,他就罵我打我,迫使我屈服。2000年上半年,我的泌尿系統(tǒng)因 此受感染,治療不及時(shí),導(dǎo)致腎炎。”
      
    解讀:“寶貝,你不知道這樣做,我有多快樂(lè),讓我扎扎吧。” 這哪是趙老濕,明明就是《依波拉病毒》和《人肉叉燒包》里的 黃秋生嘛!

    5、巨NB的老師

    一個(gè)女孩和同學(xué)開(kāi)玩笑,把對(duì)方的衣服脫光了,后來(lái)被班主任知道了,他叫來(lái)了三方的家長(zhǎng)。當(dāng)家長(zhǎng)們決定不予以追究,只要對(duì)方道歉的時(shí)候,他說(shuō)了:“呀,這可不得了,以前聽(tīng)說(shuō)也有過(guò)這樣一個(gè)例子,一個(gè)人把一個(gè)女同學(xué)的衣服脫光了,最后判了16年呢”最后那個(gè)女孩子因害怕自殺。

    解讀:終于體會(huì)到了什么叫做唯恐天下不亂?既然受害方都表示不愿再追究,為什么你要那么危言聳聽(tīng)呢?傳說(shuō)中的皇帝不急,你個(gè)太監(jiān)急個(gè)球啊?最后結(jié)果是:一朵鮮花又凋謝了!

    6、醫(yī)托說(shuō):揍的就是院長(zhǎng)!

    2006年11月23日,復(fù)旦大學(xué)附屬眼耳喉鼻醫(yī)院院長(zhǎng)助理、浦東分 院院長(zhǎng):張?zhí)煊钤诮掖┽t(yī)托的把戲后,遭到了一群醫(yī)托群毆。此 時(shí)張?jiān)洪L(zhǎng)大呼:我是醫(yī)院院長(zhǎng)!為首的一個(gè)醫(yī)托答曰:揍的就是 院長(zhǎng)!

    解讀:以前在我們眼里,醫(yī)托都是偷偷摸摸的,像做賊一樣(本來(lái)就是做賊),現(xiàn)在你看看,時(shí)代進(jìn)步了,社會(huì)發(fā)展了,醫(yī)托也翻身得解放了,還能說(shuō)出那樣天地驚,鬼神泣的話!可以肯定是醫(yī)托史上最NB的。

    7、蘇丹紅鴨蛋吃不死人,放心吧

    北京市食品辦專家:“按每個(gè)鴨蛋約60克進(jìn)行折算,體重60公斤的成人每天食用1200多個(gè)“涉紅鴨蛋”,才有可能達(dá)到誘發(fā)動(dòng)物腫瘤的劑量。”

    解讀:食 品辦專家原來(lái)一直在以人的體重與有毒食物食用量之比,作為他們工作的指導(dǎo)思想。你吃了毒木耳嗎?專家可以告訴你:按多少多少克進(jìn)行折算,體重60公斤的成 年人每天食用1噸,“才有可能達(dá)到誘發(fā)動(dòng)物腫瘤”。你吃了毒豬肉嗎?你吃了毒韭菜嗎?你吃了毒大米嗎?你吃了含有蘇丹紅Ⅰ號(hào)的廣東亨氏美味源辣椒醬、肯德 基新奧爾良烤翅嗎?吃吧,放心地吃吧,死不了。

    8、北大教授阿憶:“在北大月收入4786元,靠學(xué)校那點(diǎn)工資很難生存和安心教學(xué)。”

    解讀:幸虧阿憶教授還有幾個(gè)兼差,要不怎么能在“哭窮”之際,又在中關(guān)村附近新購(gòu)置了一套豪宅,“300萬(wàn)差1萬(wàn)”。

    9、教育好比逛市場(chǎng)?

    教育部新聞發(fā)言人王旭明:“教育就好比逛市場(chǎng)買東西,如果有錢,可以去買1萬(wàn)元一套的衣服;如果沒(méi)錢,就只能去小店,買100元一套的衣服穿。”

    解讀:許多國(guó)家的教育部門,都鼓勵(lì)年輕人勇于追逐自己的夢(mèng)想,鼓勵(lì)年輕人突破自我,進(jìn)入更高的層次、更好的學(xué)校深造,不想當(dāng)將軍的士兵不是好士兵,不想上哈佛的學(xué)生不是好學(xué)生。可我們的教育部門竟然對(duì)年輕人說(shuō):要考慮自己的經(jīng)濟(jì)能力,要有自知之明……

    10、社會(huì)學(xué)家鄭也夫:“自來(lái)水100元一噸保證可持續(xù)洗澡”。

    解讀:鄭 老師說(shuō)得很有道理,他算了賬:瓶裝礦泉水每瓶500—600毫升,1.5元一瓶。一噸瓶裝礦泉水3000元。罐裝飲用水一罐19升,大約10元多一罐。一 噸罐裝飲用水550元。一噸自來(lái)水100元離譜嗎?商人忽悠您買罐裝水可以,自來(lái)水提價(jià)就不行?即使按照這個(gè)價(jià)格算,吃三根冰棍的價(jià)格(3元錢),就能淋 浴一次(淋浴龍頭開(kāi)4分鐘大約用水30升)。為什么淋一次浴就一定要比吃三根冰棍便宜?

    posted @ 2006-12-06 20:31 小小涼粉 閱讀(296) | 評(píng)論 (0)編輯 收藏

    從灰姑娘變成公主,和生下來(lái)就是公主,畢竟不一樣,前者不會(huì)有后者的單純,但也不會(huì)像后者那樣容易受傷。

    ?

    見(jiàn)到張靚穎的那刻,屋子里人非常多,她一個(gè)箭步?jīng)_向沙發(fā),一把將頭頂上的報(bào)童帽丟到桌子上,嘰里呱啦地和公司相熟的同事攀談起來(lái),語(yǔ)速快得驚人,,像個(gè)孩子般手舞足蹈。其間,還以非同尋常的速度干掉了一整瓶鮮橙多。

    ?

    經(jīng)同事提醒,她才發(fā)現(xiàn)了我,于是規(guī)規(guī)矩矩坐過(guò)來(lái),重新將雙手縮到長(zhǎng)袖衣服的袖管中,語(yǔ)速變得緩慢,神情收斂,一下子就變成另外一個(gè)樣子。

    ?

    在廈門某酒吧舉行的“涼粉”與張靚穎的見(jiàn)面會(huì)上,“涼粉”手牽手,用人墻把所有記者都隔離起來(lái),不讓記者靠近張靚穎,他們警告媒體記者,不要影響到他們的 “公主”。緊接著,在廈門國(guó)際馬拉松發(fā)令式的媒體見(jiàn)面會(huì)上,張靚穎到場(chǎng),同時(shí)到場(chǎng)的還有大批“涼粉”,其中一位義正詞嚴(yán)“警告”記者說(shuō):“不要問(wèn)八卦問(wèn)題,我們已經(jīng)不是傳統(tǒng)意義上的粉絲,靚穎也不是傳統(tǒng)意義上的明星。”

    ?

    在這次采訪前,到百度張靚穎吧上收集問(wèn)題,也收到了同樣的警告——“她已經(jīng)把最美的歌聲給了我們,站在這個(gè)舞臺(tái)上忍受了很多傷害,所以,我們把生活還給她。鄭重對(duì)你說(shuō),如果你是善良的,請(qǐng)不要問(wèn)她私生活。她的性格很倔,如果你問(wèn)了,而她的態(tài)度不好,我們只會(huì)鼓掌支持她。”

    ?

    FANS 對(duì)張靚穎的維護(hù)已經(jīng)到了無(wú)以復(fù)加的地步,盡管許多人認(rèn)為,不少?zèng)龇蹖儆谥挟a(chǎn)精英男士,他們大多低調(diào)——但低調(diào)不代表無(wú)聲,連張靚穎都說(shuō),“現(xiàn)在‘玉米’和‘盒飯’更瘋狂?我沒(méi)有覺(jué)得啊 ! 我的粉絲也很熱情” FANS 愛(ài)上的是和他們某些地方很相似的張靚穎,雖然看起來(lái)平平靜靜,但遇弱則柔,遇強(qiáng)則剛。就像前不久,她“斗膽”以一個(gè)剛出茅廬的歌手身份將上海某著名媒體一紙?jiān)V狀告上法庭,理由是她認(rèn)為該媒體侵害了她的名譽(yù)權(quán)。

    ?

    事實(shí)上,早在去年超女比賽中,她的“戰(zhàn)斗”就開(kāi)始了。在那樣一個(gè)比賽中,嗓音一流的張靚穎遭遇到一種她從未經(jīng)歷過(guò)的尷尬,那就是:她唱得再好,也得不到冠軍。雖然我們得不到證實(shí),但她一定心里明白,這就是所謂的游戲規(guī)則。她的失落逐步變成了“孤傲”,被稱為“自信得無(wú)可救藥”,評(píng)委旁敲側(cè)擊,暗示她心機(jī)過(guò)重,甚至故意避而不談她的演唱實(shí)力。而這個(gè)早早就經(jīng)歷過(guò)風(fēng)浪的女孩,也從怯怯接受變?yōu)橛幸膺€擊。比如,其中一場(chǎng)比賽中她唱完后,評(píng)委輪番向她發(fā)問(wèn):“你有沒(méi)有感冒?發(fā)燒?生病?狀態(tài)不佳?”張靚穎響亮回應(yīng):“我沒(méi)有生病,我的狀態(tài)非常好。”

    ?

    正是這種直接,使得喜歡與不喜歡她的人截然分派。

    ?

    愛(ài)她的叫她公主。

    ?

    不與媒體為敵,她是個(gè)天生的藝人,懂得圓熟地閃避危險(xiǎn)。

    ?

    網(wǎng)上有個(gè)流傳頗廣的帖子《不穿水晶鞋也能成為公主》中寫(xiě)到過(guò)一段她幼年時(shí)的經(jīng)歷,大概意思是小學(xué)時(shí)候她參演童話劇《灰姑娘》,劇情需要她試穿水晶鞋,她卻擅自改了臺(tái)詞,高喊著“謝謝你,我不穿 ! ”使童話劇草草收?qǐng)?當(dāng)我問(wèn)道她這個(gè)情節(jié)時(shí),她卻一臉茫然:“沒(méi)有吧,我怎么不記得我這樣干過(guò)。”緊接著她又打圓場(chǎng)說(shuō),“你知道嘛,許多 FANS 喜歡憑著美好的想象編故事,讓我在其中變得很美,事實(shí)上,我可沒(méi)有那么大膽 ! 小時(shí)候一直惟‘母命’是從,不敢吭氣,做錯(cuò)了事,媽媽是真會(huì)下狠手教訓(xùn)我的 !

    ?

    很乖,懂事,很早就學(xué)會(huì)堅(jiān)強(qiáng),還是也難捱娛樂(lè)圈的殘酷,她在博客上寫(xiě):“進(jìn)入娛樂(lè)圈前,許多人提醒我要提防不良娛記……進(jìn)入娛樂(lè)圈幾個(gè)月,我已經(jīng)見(jiàn)識(shí)了他們的高深道行,他們可不是落井下石,而是路上挖井,再用無(wú)敵幻化緋聞?wù)茖⒛愦蛉氲鬲z……”幾次公開(kāi)落淚,卻為她贏得更多感動(dòng),從不適應(yīng)到接受、消化和享受成名帶來(lái)的樂(lè)趣,她變得越來(lái)越從容。畢竟,從灰姑娘變成公主,和生下來(lái)就是公主的人木不一樣的,前者不會(huì)有后者的單純,但也不會(huì)像后者那樣容易受傷。

    ?

    事實(shí)上,張靚穎并不是一個(gè)與媒體為敵的人,她是一個(gè)天生的藝人,懂得圓熟地閃避危險(xiǎn)發(fā)揮長(zhǎng)項(xiàng),有人說(shuō)她單純,的確有些牽強(qiáng)。采訪中,在很多問(wèn)題上,她都表現(xiàn)出了相當(dāng)成熟的特質(zhì)。比如,官司到現(xiàn)在尚未水落石出,提及此事她淡淡地說(shuō):“我已經(jīng)把所有事都交給公司去做了,自己現(xiàn)在只是專心致志錄專輯。”比如,當(dāng)被問(wèn)到參加超女比賽成功除了實(shí)力和人氣以外還有什么其它因素時(shí),她哈哈大笑:“當(dāng)然是運(yùn)氣了 ! ”而被追問(wèn)平凡人如何才能有“好運(yùn)氣”,是否有“潛規(guī)則”才在時(shí),她眼珠一轉(zhuǎn),很無(wú)辜:“我怎么知道,運(yùn)氣啦,神鬼莫測(cè)的,誰(shuí)能清楚它的走向呢?”問(wèn)她,什么事會(huì)引起她的不快,她很斬釘截鐵地說(shuō):“嗯,如果你不按照我今天說(shuō)的來(lái)寫(xiě),我就會(huì)不開(kāi)心。”

    ?

    其實(shí),她在采訪中所表現(xiàn)出的敏捷、大方,雖心存抗拒和抵觸卻幾乎不露痕跡,比起在娛樂(lè)圈摸爬滾打多年的藝人甚至是一線大牌來(lái),都要漂亮和得體的多。

    ?

    關(guān)于新專輯, FANS 有個(gè)很大的呼聲,那就是——強(qiáng)烈需要口水歌,她拖長(zhǎng)了聲回答:“有,讓他們放心,一定有 ! ”可緊接著問(wèn)她什么是口水歌時(shí),她突然搖頭,“不知道,因?yàn)檎f(shuō)不好,一個(gè)人一個(gè)定義吧。比如某首歌,有人覺(jué)得是口水歌,別人也許不這么認(rèn)為,覺(jué)得很有內(nèi)涵啊。”

    ?

    “不知道 + 因?yàn)椤?/span> ( 一長(zhǎng)串的解釋 ) ”一定程度上成了她回答問(wèn)題的模式,她在這個(gè)過(guò)程中,盡量尋找兩全其美的答案。 FANS 不擇生熟的狂熱擁躉 VS 希望她至少有一首“口水歌”,原本就是一個(gè)矛盾,應(yīng)該如何選擇自己的定位?張靚穎想了想,依舊是:“不知道,但我在很用心地唱歌,很努力地為大家呈現(xiàn)一個(gè)多元華的自己。”

    ?

    于是新專輯出現(xiàn)了一個(gè)很有趣的現(xiàn)象:英文歌和中文歌并存,歡快的舞曲和憂傷的抒情并存,翻唱與原唱并存,炫耀聲線的陽(yáng)春白雪和瑯瑯上口的下里巴人并存。

    ?

    厭她的人吹毛求疵。

    ?

    身陷娛樂(lè)圈,就免不了被折騰,她知道在恰當(dāng)時(shí)候自?shī)蕣嗜恕?/span>

    ?

    現(xiàn)在在成都,只要對(duì)出租車司機(jī)說(shuō)“去張靚穎唱歌的酒吧”,司機(jī)就能徑直把你拉到玉林生活廣場(chǎng),那里的音樂(lè)房子和空瓶子都是她唱過(guò)歌的酒吧。但是成名帶給她的不只是“成名”,一路 PK 擺脫了平民身份的張靚穎不知怎么的,她的名字就和一些男女有了瓜葛,先是一位自稱好友的人大曝張靚穎以前的情史,還言之鑿鑿地稱她曾為某 男友自殺,后有與某教授關(guān)系曖昧;不久后,

    張靚穎又成了黃健翔離婚的直接“殺手”,接下來(lái)再是訪談中談到欣賞姚明便被傳為“想借大個(gè)子炒作”,然后是劉翔駁了她的面子沒(méi)能參加她親手送上票的演唱會(huì),有人跳出來(lái)說(shuō):“張靚穎,請(qǐng)別坑害劉翔 ! ”再到后來(lái),又有所謂她曾經(jīng)的“閨中密友”出來(lái)編排她翻臉不認(rèn)人的不是……鬧到眼前,以身兼在校自考生和當(dāng)紅歌星兩重身份參加四川大學(xué) 110 年校慶的張靚穎,依舊被指指點(diǎn)點(diǎn),理由就是,她是自考生,能算校友嗎?一批網(wǎng)友忿忿然:張靚穎何德何能參加校慶?學(xué)校不以學(xué)術(shù)成就宣傳自己,卻讓一個(gè)不合格的逃學(xué)藝人為自己貼金,可恥呀可恥 !

    ?

    被放在更大的舞臺(tái)上,需要的是歌唱以外的實(shí)力。

    ?

    面對(duì)紛擾,張靚穎只是淡淡地說(shuō):“我?guī)缀醪簧暇W(wǎng)看這些,每天回家很晚,電視也懶得看,從美國(guó)帶回來(lái)的那些 CD 都沒(méi)來(lái)得及仔細(xì)聽(tīng),現(xiàn)在每一天雷打不動(dòng),就剩下洗澡,打開(kāi)計(jì)算機(jī)連連看,等頭發(fā)干,然后睡覺(jué)。”

    ?

    而半年前,當(dāng)記者提及爭(zhēng)議和緋聞時(shí)她說(shuō):“娛樂(lè)圈都是這樣,圈子里沒(méi)有誰(shuí)能逃過(guò)這些,這個(gè)怎么說(shuō)呢,也算是一種規(guī)矩了。”從哭泣、氣憤,到拾了隱身草,閉眼不理麻煩事,張靚穎已經(jīng)學(xué)會(huì)為自己排解煩惱。

    ?

    不過(guò)有一件事她倒是很豁達(dá),那就是一直被攻擊的造型問(wèn)題。討厭她的人特別喜歡揪住“不會(huì)打扮”這一點(diǎn)不放,而她自己這次卻也從了眾:“穿衣服這件事,我真是搞不懂,我就喜歡穿的特隨便,而且又倔又懶。每次出席什么場(chǎng)合,都應(yīng)該是帶幾身衣服讓造型師挑選,而我經(jīng)常就帶一身,讓他們沒(méi)的挑。公司 12 歲生日那天,我本來(lái)沒(méi)穿那條隆重的黑裙子,只是白襯衫牛仔褲過(guò)來(lái)了,到場(chǎng)便傻眼了,因?yàn)樵趫?chǎng)的工作人員工作服就是白襯衫牛仔褲。還有去年超女比賽時(shí)有一套衣服,一開(kāi)始我死活不想穿,和造型師打了半天架,最后拗不過(guò)只能穿了,結(jié)果到現(xiàn)在都被大家說(shuō)那時(shí)最漂亮的一身,你說(shuō)我審美是不是有問(wèn)題啊?”

    ?

    走紅,自然會(huì)有負(fù)面新聞不斷找上來(lái)。“我忘性很大,基本上屬于雜草型,哭完就沒(méi)事了。”張靚穎的智慧之處在于,她懂得在恰當(dāng)?shù)臅r(shí)候自?shī)蕣嗜恕蕵?lè)圈就是名利場(chǎng),明星就是金魚(yú),老百姓是看客。誰(shuí)要是嫌看熱鬧還不夠過(guò)癮,自己跳進(jìn)水里一起撲騰,那就真是典型的“無(wú)極”了,對(duì)于“無(wú)極”之人,她最終選擇了不予理會(huì)。

    posted @ 2006-11-16 12:07 小小涼粉 閱讀(303) | 評(píng)論 (0)編輯 收藏

    目的1:打開(kāi)一個(gè)新的對(duì)話框時(shí),如何設(shè)定它和父對(duì)話框的相對(duì)位置?比如在登錄對(duì)話框有一個(gè)“創(chuàng)建新帳號(hào)”的按鈕,用戶點(diǎn)擊以后,就出現(xiàn)新的對(duì)話框用于注冊(cè),請(qǐng)問(wèn)如何能讓新的對(duì)話框和舊對(duì)話框排列的整齊一些?應(yīng)該是能設(shè)定二者的相對(duì)位置吧?

    最開(kāi)始,以為要用Shell.setLocation來(lái)設(shè)置,但是對(duì)于一個(gè)Dialog而言,它的Shell在什么時(shí)候才能初始化呢?

    我 在構(gòu)造函數(shù)里面,configureShell(Shell newShell)方法里面,Control createDialogArea(Composite parent)方法里面都調(diào)用過(guò)了this.getShell方法想得到當(dāng)前的Shell,結(jié)果都拋出空指針異常....

    后來(lái)看書(shū)發(fā)現(xiàn),應(yīng)該重寫(xiě)protected Point getInitialLocation(Point initialSize)方法

    比如,在最開(kāi)始的例子中,在第二個(gè)對(duì)話框中我重寫(xiě)了該方法,代碼如下:

    protected?Point?getInitialLocation(Point?initialSize)?{
    ????????Point?location?
    =?new?Point(this.getParentShell().getLocation().x
    ????????????????
    +?this.getParentShell().getBounds().width,?this
    ????????????????.getParentShell().getLocation().y
    ????????????????
    +?this.getParentShell().getBounds().height
    ????????????????
    -?this.getInitialSize().y);
    ????????
    return?location;
    ????}


    其結(jié)果就是兩個(gè)對(duì)話框底部對(duì)齊的平行排列:)

    目的2: 登陸對(duì)話框要記住上次的位置。

    想了半天,好像只能用IPreferenceStore來(lái)做了,在繼承了AbstractUIPlugin的類中放入兩個(gè)常量:

    ????public?static?final?String?LOGINDIALOG_POSITION_X?=?"LOGINDIALOG_POSITION_X";

    ????
    public?static?final?String?LOGINDIALOG_POSITION_Y?=?"LOGINDIALOG_POSITION_Y";

    然后重寫(xiě)兩個(gè)方法:

    ????@Override
    ????
    protected?Point?getInitialLocation(Point?initialSize)?{

    ????????String?xposition?
    =?preferenceStore
    ????????????????.getString(Peer68TPlugin.LOGINDIALOG_POSITION_X);
    ????????String?yposition?
    =?preferenceStore
    ????????????????.getString(Peer68TPlugin.LOGINDIALOG_POSITION_Y);
    ????????
    if?(xposition?==?null?||?yposition?==?null || xposition == ""
    ??? ??? ??? ??? || yposition == ""
    )?{
    ????????????
    return?super.getInitialLocation(initialSize);
    ????????}?
    else?{
    ????????????
    return?new?Point(Integer.parseInt(xposition),?Integer
    ????????????????????.parseInt(yposition));
    ????????}
    ????}

    ????@Override
    ????
    public?boolean?close()?{
    ????????preferenceStore.setValue(Peer68TPlugin.LOGINDIALOG_POSITION_X,?
    this
    ????????????????.getShell().getLocation().x);
    ????????preferenceStore.setValue(Peer68TPlugin.LOGINDIALOG_POSITION_Y,?
    this
    ????????????????.getShell().getLocation().y);
    ????????
    return?super.close();
    ????}

    大功告成!

    posted @ 2006-11-08 15:23 小小涼粉 閱讀(2207) | 評(píng)論 (0)編輯 收藏

    1. The Maven Command:

    mvn?archetype:create
    -DarchetypeGroupId=org.springframework.osgi
    -DarchetypeArtifactId=spring-osgi-bundle-archetype
    -DarchetypeVersion=1.0-SNAPSHOT
    -DremoteRepositories=http://static.springframework.org/maven2-snapshots
    -DgroupId=maventest
    -DartifactId=maventest
    -Dversion=1.0.0


    2. After the project is successfully created, please add the following repositories to the POM


    ?
    <repository>
    ???
    <id>?springframework.org?</id>
    ???
    <name>Springframework?Maven?SNAPSHOT?Repository</name>
    ???
    <url>?http://static.springframework.org/maven2-snapshots/?</url>
    ?</repository>?????????????????
    ???????????????????????
    ?
    <repository>????????????????????????????????????????
    ???
    <id>safehaus-repository</id>???????????????????????
    ???
    <name>Safehaus?Repository</name>???????????????????
    ???
    <url>http://m2.safehaus.org?</url>??????????????????
    ?</repository>?

    3. run "mvn compile", everything is ok! :-)

    Thanks for the help of every guys。

    posted @ 2006-10-31 21:41 小小涼粉 閱讀(1650) | 評(píng)論 (0)編輯 收藏

    				

    posted @ 2006-10-30 11:58 小小涼粉 閱讀(265) | 評(píng)論 (0)編輯 收藏

    第一個(gè)評(píng)價(jià)是來(lái)自于我前年冬天的博客,第二個(gè)評(píng)價(jià)是來(lái)自于我01年的一篇文章----差別還可以.....

    小小涼粉,您的總體評(píng)價(jià):

    文字的平民化韻味濃郁,具有很強(qiáng)的生活氣息;相對(duì)正統(tǒng)的創(chuàng)作路線,可讀性較強(qiáng)。架構(gòu)清晰,邏輯性強(qiáng),情節(jié)縝密,可讀性強(qiáng);文章內(nèi)容豐富,觀點(diǎn)翔實(shí)可圈可點(diǎn);在用詞范圍方面可以著重下功夫改進(jìn)。情節(jié)縝密題材的小說(shuō)值得嘗試,將推理、懸念、歷史的因素?fù)诫s其中;同時(shí)也可以嘗試雜文、評(píng)論等文體。行文時(shí)留心描寫(xiě)與情節(jié)結(jié)構(gòu)的緊密配合,必然會(huì)誕生令人耳目一新的作品。


    小小涼粉,您的測(cè)算結(jié)果:

    通過(guò)測(cè)算,您的文章與知名作家的相似度比較結(jié)果見(jiàn)下:

    王安憶
    27%
    沒(méi)有想到吧,你有這位作家那么一點(diǎn)點(diǎn)的味道喲。
    張小嫻
    25%
    沒(méi)有想到吧,你有這位作家那么一點(diǎn)點(diǎn)的味道喲。
    鄭淵潔
    11%
    如果不是我們科學(xué)的分析結(jié)果,你沒(méi)有發(fā)覺(jué)自己還有些許這位作家的風(fēng)格吧^_^

    小小涼粉,您的總體評(píng)價(jià):

    古風(fēng)古韻的味道,古色古香的文字。架構(gòu)清晰,邏輯性強(qiáng),情節(jié)縝密,可讀性強(qiáng);文章內(nèi)容豐富,觀點(diǎn)翔實(shí)可圈可點(diǎn);在用詞范圍方面可以著重下功夫改進(jìn)。情節(jié)縝密題材的小說(shuō)值得嘗試,將推理、懸念、歷史的因素?fù)诫s其中;同時(shí)也可以嘗試雜文、評(píng)論等文體。行文時(shí)留心描寫(xiě)與情節(jié)結(jié)構(gòu)的緊密配合,必然會(huì)誕生令人耳目一新的作品。


    小小涼粉,您的測(cè)算結(jié)果:

    通過(guò)測(cè)算,您的文章與知名作家的相似度比較結(jié)果見(jiàn)下:

    古龍
    17%
    這個(gè)區(qū)間是比較正常的,看來(lái)你已經(jīng)有了掌握神韻的感覺(jué)喔。
    張小嫻
    13%
    如果不是我們科學(xué)的分析結(jié)果,你沒(méi)有發(fā)覺(jué)自己還有些許這位作家的風(fēng)格吧^_^
    錢鐘書(shū)
    8%
    如果不是我們科學(xué)的分析結(jié)果,你沒(méi)有發(fā)覺(jué)自己還有些許這位作家的風(fēng)格吧^_^

    posted @ 2006-10-26 18:10 小小涼粉 閱讀(303) | 評(píng)論 (0)編輯 收藏

    Sailor?? 罵的,真騷,用英語(yǔ)聊個(gè)P啊
    小刀?? 是啊
    小刀?? 你真騷?
    Sailor? 你更騷
    Sailor? 你最騷
    小刀?? 你最騷
    小刀?? 你是騷上加騷
    Sailor? 騷!
    小刀?? 別忘了,是你先說(shuō)英語(yǔ)的!
    Sailor? 誰(shuí)讓你跟著說(shuō)來(lái)著
    小刀?? 所以最騷的是你
    Sailor? 你是跟騷!
    小刀?? ok,沒(méi)問(wèn)題,反正你最騷

    posted @ 2006-10-26 17:29 小小涼粉 閱讀(247) | 評(píng)論 (0)編輯 收藏

    首唱會(huì)上,靚穎還唱了光芒,她第一張EP的主打歌。她說(shuō)這首歌正是她彼時(shí)的心里話,“謝謝你一直陪在我的身旁”。當(dāng)人們擁 有高度的物質(zhì)文明時(shí),回眸一顧,精神家園卻已花果飄零。于是當(dāng)這個(gè)堅(jiān)強(qiáng)自信、勇敢執(zhí)著、珍愛(ài)友誼的東方女孩出現(xiàn)的時(shí)候,我們心甘情愿,陪她一同面對(duì)艱難、 挫折、成功、喜悅。?

    當(dāng)靚穎獨(dú)自一人站在高臺(tái)上,說(shuō)這首歌使她決心成為一個(gè)好歌手 的時(shí)候,我們都知道是什么,已經(jīng)有人喊出了《Hero》。當(dāng)她從高臺(tái)上跳下的時(shí)候,當(dāng)熟悉的旋律響起來(lái),全場(chǎng)靜默。我敢說(shuō)這時(shí)候一定有人在熱淚盈眶。一曲 結(jié)束的時(shí)候,她將手抬起,伸出食指,指向臺(tái)下的涼粉,然后深深一躬。?

    所有靚穎的Hero版本——也許是因?yàn)檫@是我第一次聽(tīng)見(jiàn)現(xiàn)場(chǎng)——我覺(jué)得最為震撼——靚穎在動(dòng)情。?

    我在想什么?我在想,靚穎一路走來(lái),并非青云直上,一帆風(fēng)順。沉沉黑夜里,有一步步深深淺淺的腳印。然而勇者無(wú)懼,寂寂風(fēng)中,有涼粉舉燭相伴,成就靚穎今夜的The?One。所以,從《光芒》到《英雄》,才是那樣感天動(dòng)地,蕩氣回腸!?

    那時(shí)候她在想什么?她一定想起小時(shí)候聽(tīng)著卡帶的情景,想起參加超女中的種種,想起所有涼粉的陪伴,讓她有勇氣追求自己的夢(mèng)想。所以,仔細(xì)去看,她跳下高臺(tái) 的表情和步履是那樣的義無(wú)反顧,走向涼粉的表情和步履同樣是那樣義無(wú)反顧。她被我們奉為“英雄”,她又把“英雄”送給了我們。?

    而我們——在臺(tái)下?lián)]舞熒光棒的涼粉、守在電腦前不肯離去的涼粉——風(fēng)霜雨雪中,永遠(yuǎn)是為英雄守候的身影,為靚穎擔(dān)待的脊梁!

    posted @ 2006-10-19 09:07 小小涼粉 閱讀(309) | 評(píng)論 (0)編輯 收藏

    首先是一個(gè)效果圖:

    login.JPG

    為了不違反保密協(xié)議,偶在這里把logo和相關(guān)的東西都涂掉了,希望不會(huì)讓人覺(jué)得難看....

    ok,下面就開(kāi)始講述偶的coding過(guò)程:

    首先捏,Dialog是分為三部分的,Window Title Bar,Content Area和Button Bar

    這里的Window Title Bar素很難改動(dòng)滴,偶也米改....而接下來(lái)的ContentArea和ButtonBar因?yàn)樗胤殖蓛山氐危跃鸵岩粡埍尘皥D片拆成兩截,分別設(shè)置成ContentArea和ButtonBar的背景圖片鳥(niǎo)~~~
    ????protected?Control?createDialogArea(Composite?parent)?{
    ??????? Composite?composite?=?(Composite)?super.createDialogArea(parent);
    ????????composite.setBackgroundImage(backgroundImage);
    ??????? .......
    ??? }

    ??? protected?Control?createButtonBar(Composite?parent)?{
    ??????? Control?composite?
    =?super.createButtonBar(parent);
    ????????composite.setBackgroundImage(backgroundBtmImage);
    ??????? .......
    ???????
    return?composite;
    ????}

    當(dāng)然,僅僅做到這些還是遠(yuǎn)遠(yuǎn)不夠滴,不信,你看~~~

    login2.JPG

    看到效果了咩....接下來(lái)偶們要做滴就是解決掉背景的問(wèn)題,因?yàn)檫@個(gè)對(duì)話框里面沒(méi)有Table、Tree之類的控件,于是在createDialogArea()方法中加入一行:

    composite.setBackgroundMode(SWT.INHERIT_DEFAULT);

    我們?cè)賮?lái)看看改變后的效果:

    login3.JPG

    如上圖所示,介個(gè)ContentArea的背景問(wèn)題已經(jīng)解決鳥(niǎo),下面就素重中之重滴ButtonArea鳥(niǎo)~~~讓我們打開(kāi)Dialog的源代碼,看一下createButtonBar()的部分,就可以發(fā)現(xiàn)里面有兩行:

    ????????GridData?data?=?new?GridData(GridData.HORIZONTAL_ALIGN_END
    ????????????????
    |?GridData.VERTICAL_ALIGN_CENTER);
    ????????composite.setLayoutData(data);

    介樣子怎么能行捏,偶們需要讓介個(gè)Composite填滿整個(gè)DialogArea,這樣子才可以顯示出整個(gè)背景圖片,所以偶們就要在重寫(xiě)后的方法中加入下面一行代碼:

    composite.setLayoutData(new?GridData(SWT.FILL,?SWT.TOP,?false,?false));

    現(xiàn)在讓偶們?cè)賮?lái)看看運(yùn)行后的結(jié)果:

    login4.JPG

    為什么會(huì)素介個(gè)樣子捏?即使素把layout改成SWT.RIGHT,也不會(huì)改變介個(gè)結(jié)果...偶快要郁悶滴抓狂鳥(niǎo).....

    經(jīng)過(guò)漫長(zhǎng)滴測(cè)試,偶終于發(fā)現(xiàn)鳥(niǎo),如果控件滴layoutData不grabExcessSpace的話,那么現(xiàn)在滴DialogArea的Composite實(shí)際大小就素兩個(gè)Button加起來(lái)滴大小,所以無(wú)論如何也素不會(huì)居右對(duì)齊滴....介可怎么辦捏.....如果去重寫(xiě)createButton方法滴話,那介個(gè)dialog滴代碼可就太丑陋鳥(niǎo)....

    在一個(gè)偶然滴機(jī)會(huì)下,偶終于發(fā)現(xiàn)鳥(niǎo)SWT.RIGHT_TO_LEFT !!!偶依稀見(jiàn)到鳥(niǎo)燦爛滴曙光!8過(guò)Composite的style素在創(chuàng)建時(shí)指定的,似乎米辦法在后面覆蓋,所以偶們只好整個(gè)滴把createButtonBar重寫(xiě)掉鳥(niǎo)~~~

    ????protected?Control?createButtonBar(Composite?parent)?{
    ????????Composite?composite?
    =?new?Composite(parent,?SWT.RIGHT_TO_LEFT
    ????????????????
    |?SWT.NONE);
    ????????
    //?create?a?layout?with?spacing?and?margins?appropriate?for?the?font
    ????????
    //?size.
    ????????GridLayout?layout?=?new?GridLayout();
    ????????layout.makeColumnsEqualWidth?
    =?true;
    ????????layout.marginWidth?
    =?convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    ????????layout.marginHeight?
    =?convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    ????????layout.horizontalSpacing?
    =?convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    ????????layout.verticalSpacing?
    =?convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    ????????layout.marginLeft?
    =?10;
    ????????composite.setLayout(layout);
    ????????GridData?data?
    =?new?GridData(SWT.FILL,?SWT.TOP,?false,?false);
    ????????composite.setLayoutData(data);
    ????????composite.setFont(parent.getFont());

    ????????
    //?Add?the?buttons?to?the?button?bar.
    ????????createButtonsForButtonBar(composite);
    ??????? composite.setBackgroundImage(backgroundBtmImage);
    ????????
    return?composite;
    ????}

    在上面的代碼中,偶除了對(duì)偶所提到的地方進(jìn)行了修改以外,還加上鳥(niǎo)一行: layout.marginLeft?=?10;

    介個(gè)素因?yàn)槿绻疫吘噙^(guò)小滴話,背景圖片就會(huì)被覆蓋掉一些,而因?yàn)榕紓冇玫进B(niǎo)
    SWT.RIGHT_TO_LEFT,所以應(yīng)當(dāng)設(shè)置marginLeft滴值 :-)

    還有一點(diǎn)素8能忘記滴,就素要重寫(xiě)一下setButtonLayoutData(Button button)方法,因?yàn)榕紓円袯utton改成居右對(duì)齊:

    ????protected?void?setButtonLayoutData(Button?button)?{
    ????????GridData?data?
    =?new?GridData(SWT.RIGHT,?SWT.CENTER,?false,?false);
    ????????
    int?widthHint?=?convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
    ????????Point?minSize?
    =?button.computeSize(SWT.DEFAULT,?SWT.DEFAULT,?true);
    ????????data.widthHint?
    =?Math.max(widthHint,?minSize.x);
    ????????button.setLayoutData(data);
    ????}

    然后再在createButtonsForButtonBar()方法中,把創(chuàng)建按鈕的順序改變一下,偶們就可以看到最開(kāi)始滴那張美麗滴對(duì)話框鳥(niǎo)~~~雖然被偶涂改滴有些不美麗鳥(niǎo)~~~

    現(xiàn)在還有個(gè)小小滴問(wèn)題就素按鈕距離底端滴黑框太近鳥(niǎo)~~介個(gè)素因?yàn)椋閭€(gè)Composite只有一行,所以要改變按鈕距離底端滴距離,那么DialogArea滴大小就要跟著改變,而現(xiàn)在偶們滴DialogArea所需要滴背景圖片還米改好,于是只有這樣鳥(niǎo)~~~大家應(yīng)該知道在哪里設(shè)置底邊的邊距吧?就素createButtonBar方法中滴那個(gè)layout.marginHeight =xxx :)

    最后別忘了,整個(gè)對(duì)話框的高度,應(yīng)該是Window Title Bar,Content Area和Button Bar三部分滴和。

    偶已經(jīng)說(shuō)完鳥(niǎo),如果覺(jué)得偶滴介篇文章對(duì)你有些幫助的朋友,請(qǐng)去支持一下偶們美麗可愛(ài)滴靚穎同學(xué)滴新專輯The One吧:)多謝!

    posted @ 2006-10-16 18:11 小小涼粉 閱讀(4204) | 評(píng)論 (12)編輯 收藏

    IWorkbenchPreferenceConstants中有很多常量,用來(lái)配置preference settings,諸如:

    OPEN_NEW_PERSPECTIVE——打開(kāi)新視圖的方式
    DOCK_PERSPECTIVE_BAR——鎖定
    PerspectiveBar的位置
    INITIAL_FAST_VIEW_BAR_LOCATION——表示fast view bar在一個(gè)fresh workspace中鎖定的位置,This preference is meaningless after a workspace has been setup, since the fast view bar state is then persisted in the workbench
    SHOW_TRADITIONAL_STYLE_TABS——表示是否在editor和view上顯示傳統(tǒng)的tab style
    SHOW_PROGRESS_ON_STARTUP——是否在啟動(dòng)時(shí)顯示progress
    SHOW_TEXT_ON_PERSPECTIVE_BAR——是否在PerspectiveBar上顯示文字

    等等......

    更改的時(shí)候
    在RCP中的plugin.xml里,使用preferenceCustomization屬性,例如:
    CODE:

    <extension
    id="someproduct"
    point="org.eclipse.core.runtime.products">
    <product
    ? application="com.example.someproduct.application"
    ? name="Some Product">
    ? <property
    ??? name="preferenceCustomization"
    ??? value="plugin_customization.ini"/>

    然后在ini文件中進(jìn)行對(duì)應(yīng)的設(shè)置

    或者,
    PlatformUI.getPreferenceStore().setDefault(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,false);

    posted @ 2006-10-08 10:04 小小涼粉 閱讀(1248) | 評(píng)論 (1)編輯 收藏

    先說(shuō)一下AOSD的起源吧

    傳統(tǒng)的軟件工程有一個(gè)不變的主題:對(duì)關(guān)注點(diǎn)的分解和局部化。將系統(tǒng)分解成為主要的功能模塊,識(shí)別出關(guān)注點(diǎn)的其他問(wèn)題,確保所有關(guān)注點(diǎn)的問(wèn)題都能在代碼的適當(dāng)位置得到解決。但是關(guān)注點(diǎn)的分散和混雜又給代碼編寫(xiě)和后期維護(hù)帶來(lái)了很大的難度。
    因此,必須有一種方法可以把關(guān)注點(diǎn)集中在一起,讓系統(tǒng)開(kāi)發(fā)者可以使用關(guān)注點(diǎn)自身的模塊來(lái)描述每個(gè)關(guān)注點(diǎn)的行為。
    AOSD,用以尋找軟件系統(tǒng)中新的模塊化特性,允許對(duì)系統(tǒng)中多個(gè)關(guān)注點(diǎn)進(jìn)行獨(dú)立描述,同時(shí)又能自動(dòng)統(tǒng)一到系統(tǒng)中。

    然后是一些常用的術(shù)語(yǔ)(from AOSD wiki):

    concern(關(guān)注點(diǎn)):A concern is an area of interest or focus in a system. Concerns are the primary criteria for decomposing software into smaller, more manageable and comprehensible parts that have meaning to a software engineer.

    crosscutting(橫切):Note that crosscutting is a relationship between representations of concerns. Note also that it is a symmetric relationship. Therefore, if:

    1. A is a representation of one a concern,
    2. B is a representation of another concern, and
    3. A crosscuts B,

    then B also crosscuts A.

    This means that the term "crosscutting concerns" is often misused in two ways: To talk about a single concern, and to talk about concerns rather than representations of concerns. Consider "synchronization is a crosscutting concern": we don't know that synchronization is crosscutting unless we know what it crosscuts. And there may be representations of the concerns involved that are not crosscutting.

    aspect(方面):Aspects are one kind of concern in software development.

    joint point(聯(lián)接點(diǎn)):Join points are those elements of the programming language semantics which the aspects coordinate with. Nowadays, there are various join point models around and still new under development. They heavily depend on the underlying programming language and AO language.

    In a number of presently available AOP languages, a join point is a region in the dynamic control flow of an application. Thus a join point can for instance represent

    * a call to a method,
    * execution of a method,
    * the event of setting a field,
    * the event of handling an exception ...

    Join points can be picked up by an AOP program by using pointcuts to match on them. Depending on the pointcut language the AOP language provides, it may be possible to pick up more or less of those join points. Since join points are dynamic, it may be possible to expose runtime information such as the caller or callee of a method from a join point to a matching pointcut.

    advice:In a number of AOP languages, advice consists of a pointcut and a body. The body executes at join points the pointcut matches. This pointcut may expose runtime information to the advice body.

    pointcut:

    (from Without EJB):A set of join points,defined to specify when an advice should fire.Pointcuts are often described using either regular expressions or another wildcard syntax.

    (from Wiki)In a number of AOP languages, a pointcut is a predicate over dynamic join points, meaning that given a certain dynamic join point, a pointcut can either match this join point or not (at runtime). Another view of pointcuts is often, that they represent sets of join points. A pointcut may expose runtime information to a piece of advice.

    Weaving:The process of coordinating aspects and non-aspects. Weaving can be done explicitly or implicitly, and can be done at a variety of times ranging from by-hand weaving when code is written, through compile-time, post-compile time and load time, up to runtime.

    Without EJB中有個(gè)例子很好的解釋了一下上面的術(shù)語(yǔ):

    public class MyBusinessObject implements BusinessObject{
    public void businessMethod1() throws UnauthorizedException{
    doSecurityCheck();
    }
    public void businessMethod2() throws UnauthorizedException{
    doSecurityCheck();
    }
    public void requiresNoSecurityCheck() {
    }
    public void doSecurityCheck() throws UnauthorizedException{
    }
    }

    這里,安全檢查就是一個(gè)aspect,需要進(jìn)行安全檢查的這幾個(gè)方法就是join point。而由于不是所有的方法都需要進(jìn)行安全檢查,所以就需要用pointcut來(lái)進(jìn)行匹配。

    下面使用了一個(gè)interceptor來(lái)將關(guān)注點(diǎn)模塊化:

    import org.aopalliance.intercept.MethodInterceptor;
    import org.aopalliance.intercept.MethodInvocation;

    public class SecurityInterceptor implements MethodInterceptor{
    public Object invoke(MethodInvocation invocation)throws Throwable{
    doSecurityCheck();
    return invocation.proceed();
    }
    public void doSecurityCheck{}
    }

    這里的interceptor就是advice

    posted @ 2006-09-27 23:51 小小涼粉 閱讀(271) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 伊人久久大香线蕉免费视频| 一级中文字幕免费乱码专区| 亚洲精品久久无码| 色噜噜噜噜亚洲第一| h视频在线观看免费| 日韩视频在线观看免费| 一个人看的www在线观看免费| 国产麻豆剧传媒精品国产免费| 亚洲午夜国产片在线观看| 亚洲av无码无在线观看红杏| 亚洲免费在线观看视频| 国产亚洲综合久久| 97人妻精品全国免费视频| 久久午夜免费视频| 亚洲精品无码久久久久AV麻豆| 亚洲第一区香蕉_国产a| 亚洲中文字幕无码爆乳| 国产成人无码精品久久久免费| 18成禁人视频免费网站| 免费A级毛片无码A| 亚洲精品免费视频| 最新亚洲人成网站在线观看| 成人电影在线免费观看| 日韩高清免费在线观看| 亚洲爆乳精品无码一区二区三区| 国产成人精品亚洲日本在线| 一级特黄录像免费播放中文版| 最近中文字幕大全免费视频| 四虎成人精品在永久免费| 久久久久亚洲av无码专区喷水 | 久久精品国产亚洲AV麻豆王友容| 国产亚洲精品bv在线观看| 成人国产精品免费视频| 免费做爰猛烈吃奶摸视频在线观看| 国产成人毛片亚洲精品| 国产精品亚洲综合五月天| 两个人看的www高清免费视频| 在线观看免费毛片| 久久久久亚洲AV片无码下载蜜桃| 日韩在线一区二区三区免费视频| 在线看免费观看AV深夜影院|