版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 軟鍵盤系統(tǒng)</b></p><p> 1.課程設(shè)計(jì)的目的 </p><p> 本文根據(jù)《JAVA語(yǔ)言程序設(shè)計(jì)》課程要求而做。在本程序設(shè)計(jì)中,設(shè)計(jì)了一個(gè)文本區(qū)和鍵盤區(qū)。設(shè)計(jì)過(guò)程中利用最基本的AWT界面開發(fā),JAVA語(yǔ)言程結(jié)合序設(shè)計(jì)課本中組件、容器布局管理器、事件監(jiān)聽等的相關(guān)知識(shí),完成一個(gè)關(guān)于軟鍵盤簡(jiǎn)易功能的界面制作,以字母輸入為主,并且
2、有大小寫轉(zhuǎn)換,刪除鍵,上檔鍵,空格鍵的功能實(shí)現(xiàn)。</p><p> 所謂的軟件盤并不是再鍵盤上的,而是在“屏幕”上,軟鍵盤是通過(guò)軟件模擬鍵盤通過(guò)鼠標(biāo)點(diǎn)擊輸入字符,是為了防止木馬記錄鍵盤輸入的密碼,一般在一些銀行的網(wǎng)站上要求輸入帳號(hào)和密碼的地方容易看到. 軟鍵盤的基本原理就是用軟鍵盤(不是靠鍵盤輸入,而是用鼠標(biāo)點(diǎn)擊網(wǎng)頁(yè)上的鍵盤,可以防止木馬記錄)來(lái)設(shè)置一個(gè)PIN密碼,用這個(gè)密碼來(lái)鎖定或解鎖帳號(hào)。 </p&g
3、t;<p> 由于軟鍵盤是隨機(jī)生成的(每次鍵盤上數(shù)字的順序都不同),除非使用快速截取屏幕或者監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù)包的方法,否則很難記錄用戶輸入的密碼,據(jù)我所知目前的木馬好像還沒有先進(jìn)到如此地步,所以這樣的方法可以說(shuō)很安全。</p><p> 硬鍵盤就是物理鍵盤,你平時(shí)敲的那種,軟鍵盤是用軟件來(lái)模擬的鍵盤,象WINDOWS自帶的軟鍵盤,在屏幕上彈出一個(gè)鍵盤模樣的截面,可以用鼠標(biāo)來(lái)點(diǎn)按上面的按鍵來(lái)輸入。&l
4、t;/p><p><b> 2.設(shè)計(jì)方案論證</b></p><p><b> 2.1設(shè)計(jì)思路</b></p><p> ?。?)首先構(gòu)造一個(gè)Frame作為java的頂級(jí)窗口,并設(shè)置其大小、顏色,通過(guò)add()方法向Frame中加組件,包括面板、按鈕、文本域,再一一關(guān)聯(lián)單擊鼠標(biāo)事件監(jiān)聽器,完成對(duì)軟鍵盤按鍵的相應(yīng)操作。<
5、;/p><p> (2)首先創(chuàng)建一個(gè)名為ruanjianpan的類并繼承Frame類作為最底層的容器,如圖1所示。</p><p> 圖1. ruanjianpan的底層容器</p><p> ?。?)構(gòu)造一個(gè)軟鍵盤類時(shí)要做三件事情,分別是初始化容器、初始化組件、設(shè)置事件監(jiān)聽器。如圖2所示。</p><p><b> 圖2. 設(shè)計(jì)
6、思路</b></p><p> ?。?)Java 最新的事件處理方法是基于授權(quán)事件模型</p><p> 事件源生成事件并將其發(fā)送至一個(gè)或多個(gè)監(jiān)聽器監(jiān)聽器簡(jiǎn)單地等待,直到它收到一個(gè)事件。一旦事件被接受,監(jiān)聽器將處理這些事件,然后返回。</p><p> 事件:在授權(quán)事件模型中,事件是一個(gè)描述事件源狀態(tài)改變的對(duì)象 。 </p><
7、p> 通過(guò)鼠標(biāo)、鍵盤與 GUI 界面直接或間接交互都會(huì)生成事件。 如:按下一個(gè)按鈕、通過(guò)鍵盤輸入一個(gè)字符、選擇列表框中的一項(xiàng)、點(diǎn)擊一下鼠標(biāo)等。</p><p> 事件源:事件源是一個(gè)生成事件的對(duì)象,一個(gè)事件源可能會(huì)生成不同類型的事件,事件源提供了一組方法,用于為事件注冊(cè)一個(gè)或多個(gè)監(jiān)聽器。每種事件的類型都有其自己的注冊(cè)方法。</p><p><b> 一般形式為:<
8、;/b></p><p> public void add<EventType>Listener (TypeListener e)</p><p> AWT采取的事件控制過(guò)程:監(jiān)聽器對(duì)象屬于一個(gè)類的實(shí)例,這個(gè)類實(shí)現(xiàn)了一個(gè)特殊的接口,名為“監(jiān)聽者接口”。</p><p> 事件源是一個(gè)對(duì)象,它可以注冊(cè)一個(gè)或多個(gè)監(jiān)聽器對(duì)象,并向其發(fā)送事件對(duì)象。
9、</p><p> 事件源將在發(fā)生事件時(shí)向所有注冊(cè)的監(jiān)聽器發(fā)送事件對(duì)象。 監(jiān)聽器對(duì)象使用事件對(duì)象中的信息來(lái)確定它們對(duì)事件的響應(yīng)。</p><p><b> 事件模型:</b></p><p> a..基于代理(授權(quán))事件模型</p><p> 事件處理是一個(gè)事件源授權(quán)到一個(gè)或者多個(gè)事件監(jiān)聽器。其基本原理是:組件
10、激發(fā)事件,事件監(jiān)聽器監(jiān)聽和處理事件,可以調(diào)用組件的add<EventType>Listener方法向組件注冊(cè)監(jiān)聽器。把其加入到組件以后,如果組件激發(fā)了相應(yīng)類型的事件,那么定義在監(jiān)聽器中的事件處理方法會(huì)被調(diào)用。</p><p> b.此模型主要由以三種對(duì)象為中心組成</p><p> 事件源:由它來(lái)激發(fā)產(chǎn)生事件是產(chǎn)生或拋出事件的對(duì)象。</p><p>
11、 事件監(jiān)聽器:由它來(lái)處理事件實(shí)現(xiàn)某個(gè)特定EventListener 接口,此接口定義了一種或多種方法,事件源調(diào)用它們以響應(yīng)該接口所處理的每一種特定事件類型 。</p><p> 事件:具體的事件類型事件類型封裝在以java.util.EventObject為根的類層次中。當(dāng)事件發(fā)生時(shí),事件記錄發(fā)生的一切事件,并從事件源傳播到監(jiān)聽器對(duì)象</p><p><b> 2.2數(shù)據(jù)庫(kù)
12、設(shè)計(jì)</b></p><p><b> 2.3設(shè)計(jì)方法</b></p><p> (1)程序詳細(xì)設(shè)計(jì)與分析</p><p><b> Frame f;</b></p><p> TextField bx;</p><p> Panel p1,p2,p3,
13、p4,p5;</p><p> Button ……//設(shè)置框架,文本框,面板,添加組件</p><p><b> ……</b></p><p> b0.addActionListener(this); //注冊(cè)單擊鼠標(biāo)事件監(jiān)聽器</p><p> f.addWindowListener(new WindowA
14、dapter() //為了關(guān)閉窗口</p><p><b> ……</b></p><p> f.setSize(500,300);</p><p> f.setBackground(new Color(220, 220, 220));</p><p> f.setVisible(true);
15、 //設(shè)置框架的大小顏色及是否可見</p><p><b> ……</b></p><p> f.addWindowListener(new WindowAdapter() //注冊(cè)窗口事件監(jiān)聽器</p><p><b> ……</b></p><p><b> (
16、2)監(jiān)聽器的原理</b></p><p> 計(jì)算機(jī)系統(tǒng)在現(xiàn)實(shí)生活中得到了廣泛應(yīng)用,并早已滲透到人們的日常生活中。為了向使用者提供安全、可靠、穩(wěn)定的計(jì)算系統(tǒng),計(jì)算機(jī)專業(yè)人員長(zhǎng)期以來(lái)對(duì)計(jì)算,系統(tǒng)的安全性投入了巨大的精力。信息安全就是研究計(jì)算系統(tǒng)安全性的專門學(xué)科。信息安全涵蓋的范圍非常廣泛,從密碼學(xué)、認(rèn)證協(xié)議到網(wǎng)絡(luò)安全技術(shù),再到系統(tǒng)安全等等。系統(tǒng)的安全往往是系統(tǒng)運(yùn)行的前提和穩(wěn)定運(yùn)行的關(guān)鍵保障。在眾多的網(wǎng)絡(luò)
17、安全技術(shù)中,網(wǎng)絡(luò)監(jiān)聽技術(shù)是一項(xiàng)非常重要且被計(jì)算機(jī)應(yīng)用人員廣泛關(guān)注的技術(shù)。網(wǎng)絡(luò)監(jiān)聽器(Sniffer) 是一種與網(wǎng)絡(luò)安全性密切相關(guān)的應(yīng)用工具。它的完整定義是———利用計(jì)算機(jī)的網(wǎng)絡(luò)接口截獲目的地為其它計(jì)算機(jī)的數(shù)據(jù)報(bào)文的一種工具。在應(yīng)用中,管理員可以使用網(wǎng)絡(luò)監(jiān)聽器獲取網(wǎng)絡(luò)的當(dāng)前流量狀況;程序員可以利用監(jiān)聽器來(lái)監(jiān)視網(wǎng)絡(luò)程序的運(yùn)行狀況;對(duì)于黑客而言,顯而易見的益處是用來(lái)竊取網(wǎng)</p><p> 絡(luò)中傳輸?shù)臋C(jī)密信息。<
18、;/p><p> (3)監(jiān)聽器的設(shè)計(jì)思路如圖3所示</p><p> 圖3. 監(jiān)聽器設(shè)計(jì)圖</p><p><b> ?。?)監(jiān)聽器的設(shè)計(jì)</b></p><p> public class Test3 {</p><p> private int n; </p><p
19、> private InterA iter;</p><p> public Test3() {</p><p><b> n = 10;</b></p><p> this.setInterA(new InterA() {</p><p> public int count() {</p>
20、<p> int sum = 0;</p><p> for(int i=0; i<n; i++) //這樣在匿名內(nèi)部類的方法之中也可以訪問(wèn)n了</p><p><b> sum += i;</b></p><p> return sum;</p><p><b> }</b
21、></p><p><b> });</b></p><p><b> }</b></p><p> public void setInterA(InterA a ) {</p><p><b> iter = a;</b></p><p>
22、;<b> }</b></p><p> public static void main(String []args) {</p><p><b> }</b></p><p><b> }</b></p><p> interface InterA {</p&
23、gt;<p> int count();</p><p><b> };</b></p><p><b> (5)監(jiān)聽器的運(yùn)行</b></p><p> Scanner這個(gè)類是用來(lái)監(jiān)聽你在控制臺(tái)輸入的數(shù)據(jù)的,控制臺(tái)那里會(huì)有光標(biāo)停在那的.比如1是說(shuō)明,當(dāng)你輸入在控制一個(gè)整形數(shù)據(jù)的時(shí)候就會(huì)賦值給b,然后你
24、回車后,光標(biāo)移到另外一行,系統(tǒng)等待你輸入下一個(gè)字符串,當(dāng)你輸入完字符串的時(shí)候,這個(gè)字符串的值就會(huì)賦值給c。</p><p><b> 3.設(shè)計(jì)結(jié)果與分析</b></p><p> (1)軟鍵盤系統(tǒng)的主界面,如圖4,5所示。</p><p><b> 圖4. 主界面</b></p><p>
25、圖5. 運(yùn)行界面界面</p><p><b> 4.設(shè)計(jì)體會(huì)</b></p><p> 通過(guò)這次課程設(shè)計(jì),使我靈活應(yīng)用所學(xué)數(shù)據(jù)結(jié)構(gòu)知識(shí),獨(dú)立完成問(wèn)題分析,結(jié)合數(shù)據(jù)結(jié)構(gòu)理論知識(shí),編寫程序求解指定問(wèn)題。初步掌握軟件開發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力;并用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行
26、軟件開發(fā),鞏固、深化學(xué)生的理論知識(shí),提高編程水平,并在此過(guò)程中培養(yǎng)我們嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的工作作風(fēng)。熟練掌握數(shù)據(jù)的存儲(chǔ)表示和基本操作的實(shí)現(xiàn),能夠利用存儲(chǔ)設(shè)計(jì)算法解決簡(jiǎn)單的航空訂票問(wèn)題。同時(shí)在這學(xué)期的實(shí)驗(yàn)中,培養(yǎng)了獨(dú)立思考、動(dòng)手操作的能力,在各種其它能力上也都有了提高。在實(shí)驗(yàn)課上,我學(xué)會(huì)了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的。要面對(duì)社會(huì)的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。這對(duì)于我的將來(lái)也有很大的幫助。以后,不管有多苦,我想我都能
27、變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國(guó)提倡的艱苦奮斗一樣,我都可以在實(shí)驗(yàn)結(jié)束之后變的更加成熟,會(huì)面對(duì)需要面對(duì)的事情,以及學(xué)會(huì)遇到問(wèn)題,不急不慌,慢慢解決它</p><p> 這次課程設(shè)計(jì)本人主要參與了系統(tǒng)實(shí)現(xiàn)以及系統(tǒng)測(cè)試,還有參與小組共同完成的編寫代碼、實(shí)現(xiàn)功能模塊。歷時(shí)兩個(gè)星期終于在大家的一起努力下順利完成了。雖然過(guò)程辛苦是不可避免,但收獲還是令人感到尤其的欣慰。在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我
28、所學(xué)習(xí)的知識(shí),也培養(yǎng)了我的實(shí)踐能力,讓我知道遇到一個(gè)問(wèn)題,如何去尋找思路,如何去解決問(wèn)題,最終完成整個(gè)事情。在設(shè)計(jì)過(guò)程中,與同學(xué)分工設(shè)計(jì),和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會(huì)了合作,學(xué)會(huì)了寬容,學(xué)會(huì)了理解,也學(xué)會(huì)了做人與處世。課程設(shè)計(jì)是我們專業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,是我們邁向社會(huì),從事職業(yè)工作前一個(gè)必不少的過(guò)程。實(shí)驗(yàn)過(guò)程中,也十分感謝實(shí)驗(yàn)指導(dǎo)老師馬駿老師的指點(diǎn)與教導(dǎo)。這次課程設(shè)計(jì)不僅是對(duì)這學(xué)期所學(xué)知識(shí)的一種綜合檢驗(yàn),而且也是
29、對(duì)自己動(dòng)手能力的一種提高,增強(qiáng)了自己實(shí)踐能力。通過(guò)這次課程設(shè)計(jì)使我明白了自己知識(shí)還比較欠缺,只是學(xué)習(xí)書本知識(shí)還是遠(yuǎn)遠(yuǎn)不夠的,自己不會(huì)的東西還有太多,學(xué)習(xí)需要自己長(zhǎng)期的積累,在以后的學(xué)習(xí)、工作中都應(yīng)該不斷的學(xué)習(xí),將課本的理論知識(shí)與生活中的實(shí)踐知識(shí)相結(jié)合,不斷提高自己文化知識(shí)和實(shí)踐能力。</p><p><b> 5.參考文獻(xiàn)</b></p><p> [1] Bru
30、ce Eckel.Thinking in java [M].北京:北京郵電大學(xué)出版社,2010.2:105-121</p><p> [2]宛延闿.實(shí)用Java程序設(shè)計(jì)教程[M].北京:機(jī)械工業(yè)出版社,2006.4:234-250</p><p> [3] Joshua Bloch. Effective Java[M] 北京:機(jī)械工業(yè)出版社,2009.4: 233-270</p&
31、gt;<p> [4]張廣彬,孟紅蕊,張永寶.Java課程設(shè)計(jì)案例精編[M].北京:清華大學(xué)出版社,2005.2:355-363</p><p> [5]朱喜福.Java程序設(shè)計(jì)[M].北京:人民郵電出版社,2005.9:179-203</p><p><b> 附錄</b></p><p> import java.aw
32、t.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> public class ruanjianpan extends Frame implements ActionListener{</p><p><b> Frame
33、 f;</b></p><p> TextField bx;</p><p> Panel p1,p2,p3,p4,p5;</p><p> int a=1,d=1;</p><p><b> int c;</b></p><p> String m=" "
34、;;</p><p> String r=" ";</p><p> String s=" ";</p><p> Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b2
35、6,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36,b37,b38,b39,b40,b41,b42,b43,b44,b45,b46,b47,b48,b49,b50,b51,b52,b53,b54,b55,b56,b57,b58;</p><p><b> // 定義變量</b></p><p> public static void
36、 main(String args[]){</p><p> ruanjianpan s=new ruanjianpan();</p><p><b> s.go();</b></p><p><b> }</b></p><p> public void go(){</p>
37、<p> f=new Frame("軟件盤");</p><p> bx=new TextField(80);</p><p> p1=new Panel();</p><p> p2=new Panel();</p><p> p3=new Panel();</p><p>
38、 p4=new Panel();</p><p> p5=new Panel();</p><p> b0=new Button("`~");</p><p> b1=new Button("1!");</p><p> b2=new Button("2@");</p&
39、gt;<p> b3=new Button("3#");</p><p> b4=new Button("4$");</p><p> b5=new Button("5%");</p><p> b6=new Button("6^");</p><
40、;p> b7=new Button("7&");</p><p> b8=new Button("8*");</p><p> b9=new Button("9(");</p><p> b10=new Button("0)");</p><p&
41、gt; b11=new Button("←");</p><p> b12=new Button(" Shift ");</p><p> b13=new Button("[ {");</p><p> b14=new Button("] }");</p>&l
42、t;p> b15=new Button("; :");</p><p> b16=new Button("' “");</p><p> b17=new Button(", <");</p><p> b18=new Button(". >");<
43、/p><p> b19=new Button("/ ?");</p><p> b20=new Button("- _");</p><p> b21=new Button("= +");</p><p> b22=new Button("、 |");<
44、/p><p> b23=new Button("CapsLock");</p><p> b24=new Button("q");</p><p> b25=new Button("w");</p><p> b26=new Button("e");</
45、p><p> b27=new Button("r");</p><p> b28=new Button("t");</p><p> b29=new Button("y");</p><p> b30=new Button("u");</p>&
46、lt;p> b31=new Button("i");</p><p> b32=new Button("o");</p><p> b33=new Button("p");</p><p> b34=new Button("a");</p><p>
47、 b35=new Button("s");</p><p> b36=new Button("d");</p><p> b37=new Button("f");</p><p> b38=new Button("g");</p><p> b39=ne
48、w Button("h");</p><p> b40=new Button("j");</p><p> b41=new Button("k");</p><p> b42=new Button("l");</p><p> b43=new Button
49、("z");</p><p> b44=new Button("x");</p><p> b45=new Button("c");</p><p> b46=new Button("v");</p><p> b47=new Button("b
50、");</p><p> b48=new Button("n");</p><p> b49=new Button("m");</p><p> b50=new Button(" ");</
51、p><p> b51=new Button("Tab");</p><p> b52=new Button("Crtl");</p><p> b53=new Button("Enter");</p><p> b54=new Button("Alt");&l
52、t;/p><p> b55=new Button("↑");</p><p> b56=new Button("↓");</p><p> b57=new Button("←");</p><p> b58=new Button("→");</p>
53、<p><b> //實(shí)例化</b></p><p> b0.addActionListener(this);</p><p> b1.addActionListener(this);</p><p> b2.addActionListener(this);</p><p> b3.addActi
54、onListener(this);</p><p> b4.addActionListener(this);</p><p> b5.addActionListener(this);</p><p> b6.addActionListener(this);</p><p> b7.addActionListener(this);<
55、;/p><p> b8.addActionListener(this);</p><p> b9.addActionListener(this);</p><p> b10.addActionListener(this);</p><p> b11.addActionListener(this);</p><p>
56、 b12.addActionListener(this);</p><p> b13.addActionListener(this);</p><p> b14.addActionListener(this);</p><p> b15.addActionListener(this);</p><p> b16.addActionL
57、istener(this);</p><p> b17.addActionListener(this);</p><p> b18.addActionListener(this);</p><p> b19.addActionListener(this);</p><p> b20.addActionListener(this);&l
58、t;/p><p> b21.addActionListener(this);</p><p> b22.addActionListener(this);</p><p> b23.addActionListener(this);</p><p> b24.addActionListener(this);</p><p&
59、gt; b25.addActionListener(this);</p><p> b26.addActionListener(this);</p><p> b27.addActionListener(this);</p><p> b28.addActionListener(this);</p><p> b29.addActi
60、onListener(this);</p><p> b30.addActionListener(this);</p><p> b31.addActionListener(this);</p><p> b32.addActionListener(this);</p><p> b33.addActionListener(this)
61、;</p><p> b34.addActionListener(this);</p><p> b35.addActionListener(this);</p><p> b36.addActionListener(this);</p><p> b37.addActionListener(this);</p><
62、;p> b38.addActionListener(this);</p><p> b39.addActionListener(this);</p><p> b40.addActionListener(this);</p><p> b41.addActionListener(this);</p><p> b42.addA
63、ctionListener(this);</p><p> b43.addActionListener(this);</p><p> b44.addActionListener(this);</p><p> b45.addActionListener(this);</p><p> b46.addActionListener(th
64、is);</p><p> b47.addActionListener(this);</p><p> b48.addActionListener(this);</p><p> b49.addActionListener(this);</p><p><b> //添加監(jiān)聽</b></p><
65、;p> f.setLayout(new GridLayout(6,1));</p><p> p1.setLayout(new FlowLayout());</p><p> p2.setLayout(new FlowLayout());</p><p> p3.setLayout(new FlowLayout());</p><p
66、> p4.setLayout(new FlowLayout());</p><p> p5.setLayout(new FlowLayout());</p><p> f.add(bx);</p><p> p1.add(b0);p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);p1.add(
67、b6);p1.add(b7);p1.add(b8);p1.add(b9);p1.add(b10);p1.add(b20);p1.add(b21);p1.add(b11);</p><p> p2.add(b51);p2.add(b24);p2.add(b25);p2.add(b26);p2.add(b27);p2.add(b28);p2.add(b29);p2.add(b30);p2.add(b31);p2.a
68、dd(b32);p2.add(b33);p2.add(b13);p2.add(b14);p2.add(b22);</p><p> p3.add(b23);p3.add(b34);p3.add(b35);p3.add(b36);p3.add(b37);p3.add(b38);p3.add(b39);p3.add(b40);p3.add(b41);p3.add(b42);p3.add(b15);p3.add(b1
69、6);p3.add(b53);</p><p> p4.add(b12);p4.add(b43);p4.add(b44);p4.add(b45);p4.add(b46);p4.add(b47);p4.add(b48);p4.add(b49);p4.add(b17);p4.add(b18);p4.add(b19);p4.add(b55);</p><p> p5.add(b52);p5.
70、add(b54);p5.add(b50);p5.add(b57);p5.add(b56);p5.add(b58);</p><p> f.add(p1);f.add(p2);f.add(p3);f.add(p4);f.add(p5);</p><p><b> //定義布局</b></p><p> bx.setEnabled(false
71、); </p><p> f.setSize(500,300);</p><p> f.setBackground(new Color(220, 220, 220));</p><p> f.setVisible(true);</p><p><b> //定義框架</b></p><p>
72、; f.addWindowListener(new WindowAdapter() //為了關(guān)閉窗口</p><p><b> {</b></p><p> public void windowClosing(WindowEvent e)</p><p><b> {</b></p><p&g
73、t; System.exit(0);</p><p><b> }</b></p><p><b> });</b></p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e){<
74、/p><p><b> if(d==1){</b></p><p> if(e.getActionCommand().equals("`~")){</p><p><b> m=m+"`";</b></p><p> bx.setText(m);</
75、p><p><b> }</b></p><p> if(e.getActionCommand().equals("1!")){</p><p><b> m=m+"1";</b></p><p> bx.setText(m);</p>&l
76、t;p><b> }</b></p><p> if(e.getActionCommand().equals("2@")){</p><p><b> m=m+"2";</b></p><p> bx.setText(m);</p><p>&l
77、t;b> }</b></p><p> if(e.getActionCommand().equals("3#")){</p><p><b> m=m+"3";</b></p><p> bx.setText(m);</p><p><b>
78、}</b></p><p> if(e.getActionCommand().equals("4$")){</p><p><b> m=m+"4";</b></p><p> bx.setText(m);</p><p><b> }</b&g
79、t;</p><p> if(e.getActionCommand().equals("5%")){</p><p><b> m=m+"5";</b></p><p> bx.setText(m);</p><p><b> }</b></p&
80、gt;<p> if(e.getActionCommand().equals("6^")){</p><p><b> m=m+"6";</b></p><p> bx.setText(m);</p><p><b> }</b></p><
81、p> if(e.getActionCommand().equals("7&")){</p><p><b> m=m+"7";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p>
82、 if(e.getActionCommand().equals("8*")){</p><p><b> m=m+"8";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.ge
83、tActionCommand().equals("9(")){</p><p><b> m=m+"9";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCo
84、mmand().equals("0)")){</p><p><b> m=m+"0";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().e
85、quals("[ {")){</p><p><b> m=m+"[";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals(&q
86、uot;] }")){</p><p><b> m=m+"]";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("; :&
87、quot;)){</p><p><b> m=m+";";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("' “"
88、;)){</p><p><b> m=m+"'";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals(", <"
89、)){</p><p><b> m=m+",";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals(". >")){&l
90、t;/p><p><b> m=m+".";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("/ ?")){</p>
91、<p><b> m=m+"/";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("- _")){</p><p&
92、gt;<b> m=m+"-";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("= +")){</p><p><b
93、> m=m+"=";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("、 |")){</p><p><b> m=
94、m+"、";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p><b> }</b></p><p><b> if(d==2){</b></p><p>
95、; if(e.getActionCommand().equals("`~")){</p><p><b> m=m+"~";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.g
96、etActionCommand().equals("1!")){</p><p><b> m=m+"!";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionC
97、ommand().equals("2@")){</p><p><b> m=m+"@";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().
98、equals("3#")){</p><p><b> m=m+"#";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals(&q
99、uot;4$")){</p><p><b> m=m+"$";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("5%&qu
100、ot;)){</p><p><b> m=m+"%";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("6^")){<
101、;/p><p><b> m=m+"^";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("7&")){</p&g
102、t;<p><b> m=m+"&";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("8*")){</p>&
103、lt;p><b> m=m+"*";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("9(")){</p><p>&
104、lt;b> m=m+"(";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("0)")){</p><p><b>
105、 m=m+")";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("[ {")){</p><p><b> m=m+&qu
106、ot;{";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("] }")){</p><p><b> m=m+"}&quo
107、t;;</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("; :")){</p><p><b> m=m+":";</
108、b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("' “")){</p><p><b> m=m+"“";</b>
109、;</p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals(", <")){</p><p><b> m=m+"<";</b>&
110、lt;/p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals(". >")){</p><p><b> m=m+">";</b><
111、;/p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("/ ?")){</p><p><b> m=m+"?";</b></p>
112、<p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("- _")){</p><p><b> m=m+"_";</b></p><p&g
113、t; bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("= +")){</p><p><b> m=m+"+";</b></p><p> bx.s
114、etText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("、 |")){</p><p><b> m=m+"|";</b></p><p> bx.setText(m
115、);</p><p><b> }</b></p><p><b> }</b></p><p><b> if(a==1){</b></p><p> if(e.getActionCommand().equals("q")){</p>
116、<p><b> m=m+"q";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("w")){</p><p>
117、<b> m=m+"w";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("e")){</p><p><b>
118、 m=m+"e";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("r")){</p><p><b> m=m+"
119、;r";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("t")){</p><p><b> m=m+"t";&
120、lt;/b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("y")){</p><p><b> m=m+"y";</b>&
121、lt;/p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("u")){</p><p><b> m=m+"u";</b></p>
122、<p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("i")){</p><p><b> m=m+"i";</b></p><p>
123、 bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("o")){</p><p><b> m=m+"o";</b></p><p> bx.setTe
124、xt(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("p")){</p><p><b> m=m+"p";</b></p><p> bx.setText(m);<
125、/p><p><b> }</b></p><p> if(e.getActionCommand().equals("a")){</p><p><b> m=m+"a";</b></p><p> bx.setText(m);</p>&l
126、t;p><b> }</b></p><p> if(e.getActionCommand().equals("s")){</p><p><b> m=m+"s";</b></p><p> bx.setText(m);</p><p><
127、;b> }</b></p><p> if(e.getActionCommand().equals("d")){</p><p><b> m=m+"d";</b></p><p> bx.setText(m);</p><p><b> }&
128、lt;/b></p><p> if(e.getActionCommand().equals("f")){</p><p><b> m=m+"f";</b></p><p> bx.setText(m);</p><p><b> }</b>&
129、lt;/p><p> if(e.getActionCommand().equals("g")){</p><p><b> m=m+"g";</b></p><p> bx.setText(m);</p><p><b> }</b></p>
130、<p> if(e.getActionCommand().equals("h")){</p><p><b> m=m+"h";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p>
131、 if(e.getActionCommand().equals("j")){</p><p><b> m=m+"j";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.get
132、ActionCommand().equals("k")){</p><p><b> m=m+"k";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionComm
133、and().equals("l")){</p><p><b> m=m+"l";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equa
134、ls("z")){</p><p><b> m=m+"z";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("x
135、")){</p><p><b> m=m+"x";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("c")){&
136、lt;/p><p><b> m=m+"c";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("v")){</p>
137、<p><b> m=m+"v";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("b")){</p><p>
138、<b> m=m+"b";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("n")){</p><p><b>
139、 m=m+"n";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals("m")){</p><p><b> m=m+"
140、;m";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p><b> }</b></p><p><b> if(a==2){</b></p><p> if(e
141、.getActionCommand().equals("q")){</p><p><b> m=m+"Q";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getAction
142、Command().equals("w")){</p><p><b> m=m+"W"; </b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand()
143、.equals("e")){</p><p><b> m=m+"E";</b></p><p> bx.setText(m);</p><p><b> }</b></p><p> if(e.getActionCommand().equals(&q
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)--軟鍵盤
- qt嵌入式軟鍵盤的設(shè)計(jì)與實(shí)現(xiàn)
- 基于嵌入式LINUX下軟鍵盤的設(shè)計(jì).pdf
- 屏幕軟鍵盤自動(dòng)識(shí)別技術(shù)研究.pdf
- 嵌入式軟鍵盤的設(shè)計(jì)與實(shí)現(xiàn)答辯ppt.dps
- 基于ARM9的嵌入式動(dòng)態(tài)密碼軟鍵盤.pdf
- 用于大觸摸屏軟鍵盤的大小自適應(yīng)研究.pdf
- 適合漢語(yǔ)全拼輸入的提示性軟鍵盤的研發(fā)與驗(yàn)證
- 適合漢語(yǔ)全拼輸入的提示性軟鍵盤的研發(fā)與驗(yàn)證.pdf
- 手機(jī)鍵盤課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---鍵盤接口課程設(shè)計(jì)
- 鍵盤監(jiān)聽程序課程設(shè)計(jì)
- eda課程設(shè)計(jì)--矩陣鍵盤接口設(shè)計(jì)
- 鍵盤電子樂器課程設(shè)計(jì)
- 鍵盤測(cè)試器的設(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)--設(shè)計(jì)一個(gè)16鍵的鍵盤系統(tǒng)
- 矩陣鍵盤eda技術(shù)課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)-鍵盤輸入
- 矩陣鍵盤eda技術(shù)課程設(shè)計(jì)
- 課程設(shè)計(jì)4乘4矩陣鍵盤設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論