很少有病痛所受到的誤解與質疑,比僵直性脊椎炎還要多,甚至被汙名化成一種逃兵的手段。從最近的一篇報導「僵直性脊椎炎比經痛更痛!周杰倫:有人說我閃兵就生氣」下面的留言,可以看出網友對於患者可以練出八塊肌、打籃球及拍武打片這件事,有極大的心理不平衡。他們質疑周杰倫(以下稱周董)以造假病歷的手段逃兵,或認為僵直性脊椎炎患者,根本是可以當兵,卻選擇接受免役體位好「閃兵」。雖然我很希望將一切歸咎於網友們的無知,多數網友卻壓根不理會其他病友的解釋,只把焦點放在「可以練八塊肌,卻沒有當兵」的矛盾上,好像被判為免役體位就必須表現得手無縛雞之力,否則是裝病閃兵。我不喜歡周董,只是就病友的立場,我對這種現象感到非常憤怒,所以決定寫下這篇文章,來回覆一些疑問和網友們的無理取鬧。
2013年1月2日 星期三
2010年1月30日 星期六
用Java盡大學生的義務
最近總是出現一堆新聞在報導時下大學生的醜態,舉凡遲到、翹課、上課吃雞腿、考試作弊等等。每次看到這類新聞,都不禁為這些大學同學感到惋惜。但是,請不要誤會,我寫這篇文章的目的絕不是要炫耀自己是個努力用功人見人愛的乖學生,而是這些醜態我在大學前就全都幹過了。我惋惜的不是他們和我一樣糟,而是可憐他們運氣差,剛好符合媒體的胃口而被爆料。
身為一個大學生,我大約知道公認的義務,這些義務不外乎:
對我這個糟糕大學生而言,只有兩件事情是必須做的:
看到這裡,一定有人開始懷疑本文與主題的關係。但是,別著急,按照慣例,接下來的文章一定會努力拗回正題的!
我真的要說的是,每次我在執行「選課」這項大學生的義務時,總是會遇到相當多競爭者要搶同一門課,而且好死不死每次運氣都很差,抽籤的結果總是沒選到,只好在加退選階段等選上的人退選。然而加退選階段搶課的人還是很多,每次為了選到一門課,都得坐在電腦前不斷按加選按鈕,浪費了相當多時間。為了剷除那些妨礙我盡大學生義務的絆腳石,上次選課時,我終於下定決心寫出一個滑鼠連點程式(然而,當程式一完成,開始讀秒準備發射時,我才發現想選的課已經選上了..囧rz)。
本文要教大家做的就是如何以Java實作滑鼠連點程式。程式碼十分短,大約只要15行。
在此先介紹Java AWT裡的一個稱為Robot的類別,大家可別看到名字就以為是給搜尋引擎用來做網路蜘蛛(Web Spider)的,事實上我有個不懂裝懂的同學就這麼想;也不要認為它是用來做機器人行動規畫的工具,它和真實的機器人一點關係也沒有。它其實是個用來模擬圖形介面使用者動作的類別。換句話說,它可以模擬使用者滑鼠移動、按下鍵盤或滑鼠按鍵,並且可以擷取目前螢幕的畫面。
Robot類別提供以下幾個方法來模擬滑鼠動作:
注意按下(press)滑鼠按鍵後,必須放開(release)才是一次點擊(click)。若忘了把按鍵放開,按鍵會一直被按著。
連點程式全部的程式碼只有這樣:
注意在每次點擊必須讓執行緒暫停一段時間,否則滑鼠會不停點擊,到時連這個連點程式都很難關掉。
這裡只介紹到Robot類別的一種應用,事實上他能夠實現相當多功能,諸如螢幕放大鏡、螢幕畫面擷取器之類的小程式。
有興趣深入的人可以參考Java API的介紹:Robot。
身為一個大學生,我大約知道公認的義務,這些義務不外乎:
- 記得上課
- 但是不要遲到
- 過程中保持清醒
- 再餓也不能吃雞腿
- 沒雞腿吃也要認真聽課
- 快被二一,仍保持考試不作弊
- 就算作業完全不會寫,也不能抄襲,而且要準時交
對我這個糟糕大學生而言,只有兩件事情是必須做的:
- 註冊
- 選課
看到這裡,一定有人開始懷疑本文與主題的關係。但是,別著急,按照慣例,接下來的文章一定會努力拗回正題的!
我真的要說的是,每次我在執行「選課」這項大學生的義務時,總是會遇到相當多競爭者要搶同一門課,而且好死不死每次運氣都很差,抽籤的結果總是沒選到,只好在加退選階段等選上的人退選。然而加退選階段搶課的人還是很多,每次為了選到一門課,都得坐在電腦前不斷按加選按鈕,浪費了相當多時間。為了剷除那些妨礙我盡大學生義務的絆腳石,上次選課時,我終於下定決心寫出一個滑鼠連點程式(然而,當程式一完成,開始讀秒準備發射時,我才發現想選的課已經選上了..囧rz)。
本文要教大家做的就是如何以Java實作滑鼠連點程式。程式碼十分短,大約只要15行。
在此先介紹Java AWT裡的一個稱為Robot的類別,大家可別看到名字就以為是給搜尋引擎用來做網路蜘蛛(Web Spider)的,事實上我有個不懂裝懂的同學就這麼想;也不要認為它是用來做機器人行動規畫的工具,它和真實的機器人一點關係也沒有。它其實是個用來模擬圖形介面使用者動作的類別。換句話說,它可以模擬使用者滑鼠移動、按下鍵盤或滑鼠按鍵,並且可以擷取目前螢幕的畫面。
Robot類別提供以下幾個方法來模擬滑鼠動作:
- public void mouseMove(int x, int y); // x,y為螢幕像素位置
- public void mousePress(int buttons);
/* buttons可以是以下的值
* java.awt.event.InputEvent.BUTTON1_MASK 代表左鍵
* java.awt.event.InputEvent.BUTTON2_MASK 代表中鍵
* java.awt.event.InputEvent.BUTTON3_MASK 代表右鍵*/ - public void mouseRelease(int buttons); //同上
- public void mouseWheel(int wheelAmt);
/* wheelAmt為滑鼠滾輪的轉動量,
* 正值為向前轉,負值為向後轉。*/
注意按下(press)滑鼠按鍵後,必須放開(release)才是一次點擊(click)。若忘了把按鍵放開,按鍵會一直被按著。
連點程式全部的程式碼只有這樣:
import java.awt.*;
import java.awt.event.*;
class RobotTest{
public static void main(String[] arg)throws AWTException,
InterruptedException{
Robot robot = new Robot();
while(true){
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
Thread.sleep(3000); // 讓執行緒睡3秒
}
}
}
注意在每次點擊必須讓執行緒暫停一段時間,否則滑鼠會不停點擊,到時連這個連點程式都很難關掉。
這裡只介紹到Robot類別的一種應用,事實上他能夠實現相當多功能,諸如螢幕放大鏡、螢幕畫面擷取器之類的小程式。
有興趣深入的人可以參考Java API的介紹:Robot。
2009年6月27日 星期六
言式法則
一直以來,我都想要開一個網誌來存放我那些用完即刪除的小程式,以及那些突然出現的關於程式設計的好點子。這個願望在教授冷酷無情的摧殘與自己無窮無盡的怠惰的雙重夾攻之下,每次都胎死腹中,不了了之。今天在500cc的咖啡因刺激之下,我終於下定決心按下建立網誌的選項。
總而言之,這網誌產生了,而這裡將會是我存放一些程式設計心得以及小作品的地方,可能偶爾會出現一些評論。如果你對文章不甚同意或有疑問,你第一件可以做的事情就是留言,然而喜歡保持網誌整潔的我,不能忍受網誌被留言霸佔,因此你的留言將不會出現在網誌上,系統會直接寄送到我的信箱,到時我會看到。如果你完全不想留言,你可以選擇馬上離開,這是乾脆又容易,同時也最被鼓勵使用的選項。
至於網誌的名字為什麼叫做言式法則?主要原因是作者個人對名字的喜好,次要原因則是這網誌裡的所有文章都是試驗性質的。如果你把言式兩個字合併起來看,就成為了「試」。沒錯,這個網誌就是秉持著試試看的精神創建的,因此若你發現這裡的方法對你無效,或者根本就錯了,請不要大驚小怪,就當和我一起試試看那些鬼東西,然後把問題回報給我知道,不然就乾脆離開,當作沒這回事。
這網誌裡的所有文章都不會標示「版權所有,翻印必究」的噁心標示,但這並不表示這裡的 一字一句都可以任意擷取,而是著作權根本是常識,如果要轉載或引用請一定要註明出處。其餘法律規章請參考Wikipedia之合理使用條文。
很好,它終於誕生了。
訂閱:
文章 (Atom)