軟鍵盤系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論