![用源碼論述Eclipse學(xué)習(xí)體會(huì)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/47586596-a237-48df-95e1-6435f1ce7d1e/47586596-a237-48df-95e1-6435f1ce7d1e1.gif)
![用源碼論述Eclipse學(xué)習(xí)體會(huì)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/47586596-a237-48df-95e1-6435f1ce7d1e/47586596-a237-48df-95e1-6435f1ce7d1e2.gif)
![用源碼論述Eclipse學(xué)習(xí)體會(huì)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/47586596-a237-48df-95e1-6435f1ce7d1e/47586596-a237-48df-95e1-6435f1ce7d1e3.gif)
![用源碼論述Eclipse學(xué)習(xí)體會(huì)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/47586596-a237-48df-95e1-6435f1ce7d1e/47586596-a237-48df-95e1-6435f1ce7d1e4.gif)
![用源碼論述Eclipse學(xué)習(xí)體會(huì)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/47586596-a237-48df-95e1-6435f1ce7d1e/47586596-a237-48df-95e1-6435f1ce7d1e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程名稱軟件開發(fā)工具論文題目用源碼論述eel ipse學(xué)習(xí)體會(huì)學(xué)生專業(yè)學(xué)生班級(jí) 學(xué)生學(xué)號(hào)學(xué)生姓名 任課老師用源碼論述eclipse學(xué)習(xí)體會(huì)摘耍:在java程序開發(fā)上,eclipse所能給編譯java程序帶來(lái)了許多的方便。通過 一段時(shí)問的學(xué)習(xí),對(duì)此開發(fā)軟件有了更加深入更加系統(tǒng)的了解。同時(shí)我們通過 eclipse集成開發(fā)平臺(tái)也做y許多次實(shí)驗(yàn),特別是在我使用java語(yǔ)言設(shè)計(jì)計(jì)算器 程序,給了我?guī)?lái)很多關(guān)于eclipse方面的學(xué)體會(huì),以此系統(tǒng)的把對(duì)eclipse開 發(fā)工再的使用與源碼相結(jié)合做一個(gè)全面的總結(jié),找出操作過程中的存在的不足, 不斷完善自己在編程和使用開發(fā)工具方而的能力,提高個(gè)人的綜合實(shí)力水乎
2、。關(guān)鍵字:eclipse java計(jì)算器正文:eclipse 簡(jiǎn)介:(1) rcl ipse體系結(jié)構(gòu)eclipse是一種通用工具平臺(tái)-一普遍適用的開放式擴(kuò)展ide。它提供了功 能豐富的丌發(fā)環(huán)境,允許開發(fā)者高效地創(chuàng)建一些能夠無(wú)縫集成到eclipse平臺(tái) 中的工具eclipse的設(shè)計(jì)思想是:一切皆為插件! eclipse的核心是非常小的,其它 的所冇功能都是以插件的形式附加在這個(gè)核心之上。這樣的功能插件包括它的 圖形api (swt/jface)、java開發(fā)環(huán)境插件(jdt)、插件開發(fā)環(huán)境(pde)等。 eclipse對(duì)這些插件的|辦同工作捉供了良好的支持,不僅安裝簡(jiǎn)単,而目.還可 以無(wú)縫結(jié)合。
3、eclipse加載插件有靜態(tài)和動(dòng)態(tài)之分。所謂靜態(tài)就是eclipse啟動(dòng)吋就加 載,例如jdt、pde等插件;所謂動(dòng)態(tài)加載,就是eclipse啟動(dòng)完成后,如果 宥事件發(fā)生,eclipse會(huì)根據(jù)事件的ii)的不同,cj動(dòng)加載對(duì)應(yīng)的插件。當(dāng)插 件不再被使用時(shí),它就會(huì)被在適當(dāng)?shù)臅r(shí)候清除出內(nèi)存,因此即使裝了一大堆插 件里,也不必拍心某些不常用的插件0 0占著內(nèi)存。(2) 圖形apieclipse界面非常像亮,如果不事先告之.僅從界面上是活不出任何java 程序的影了。java的標(biāo)推閣形api: awt/swing直是被人垢病的。用它寫成的界而不夠 美觀,界面響應(yīng)速度還慢。eclipse的swt/jfac
4、e圖形api徹底地改變了這一 狀況。主要原因是swt/jface與awt/swing在實(shí)現(xiàn)上有很大不同:后者是模擬 本機(jī)窗口組件,而前者則直接調(diào)用本機(jī)窗口組件,當(dāng)本機(jī)投冇所需組件吋冰進(jìn) 行摸擬。當(dāng)然swt/jeace這種實(shí)現(xiàn)方祛也是冇缺點(diǎn)的,它沒冇java的跨操作系統(tǒng)的 特性,每一個(gè)操作系統(tǒng)要用eclipse都需要移楨一次swt/jface,這也是 swt/jface最具爭(zhēng)議的地方,不過因?yàn)閟wt/jface己經(jīng)移植到了幾個(gè)主流的操作系統(tǒng)平臺(tái),所以這已經(jīng)不再是一個(gè)什么嚴(yán)重的問題了。(3) 丌放式、可擴(kuò)展的ideeclipse有極為強(qiáng)大的集成開發(fā)環(huán)境,它集成了 cvs、junit和ant,強(qiáng)大的
5、 代碼重構(gòu)功能傲視群雄。因?yàn)閑clipse的安裝也集成y java開發(fā)環(huán)境的插件 jdt。所以eclipse默認(rèn)是一個(gè)和jbuiider類似的java開發(fā)工具。但eclipse 不僅僅只是java的開發(fā)工再,我們只需安裝一個(gè)c/c+插件,就可以把它當(dāng)成 c/c+開發(fā)工具。只耍冇相應(yīng)的插件,eclipse也可以用做其它語(yǔ)言的丌發(fā)工具。 eclipse抽件擴(kuò)展機(jī)制是其最突出的特點(diǎn)和優(yōu)勢(shì),它使eclipse提升到了一個(gè)平臺(tái)的高度。我們可以利用eclispe的插件開發(fā)環(huán)境 (pdr)來(lái)開發(fā)自己的eclispe插件,隨己所需地?cái)U(kuò)展eel ipse的功能。這樣的插件形式是多種多樣的,它可以是一種編程工具,
6、如c/c+,jsp, p11p等; 也可以是一個(gè)應(yīng)用系統(tǒng),如信息管理系統(tǒng)。eclispe的插件機(jī)制使得eclipse具有無(wú)限擴(kuò)展的可能,插你想插的一_ki! eclipse 一插件' 臺(tái)(4) eclipse 的總結(jié)eclipse集成開發(fā)平臺(tái)的強(qiáng)大,使其收到許多開發(fā)人員的青睞。我們知道此 集成幵發(fā)肀臺(tái)的目標(biāo)不僅僅限于幵發(fā)java,因?yàn)樗试S構(gòu)建與eclipse環(huán)境無(wú) 縫集成工具。由于eclipse中的母樣?xùn)|丙都是插件,對(duì)于給eclipse提供插件, 以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等 的發(fā)揮場(chǎng)所。基于eclipse開發(fā)工具的使用,程序的圖形界而美觀和
7、響應(yīng)速度快,能給開 發(fā)人員帶來(lái)的很大的福音,是吋代進(jìn)步的一個(gè)小小步伐,同吋就能給我們?cè)陂_發(fā) 軟件方而帶來(lái)了美感和提高開發(fā)效率;在學(xué)習(xí)eclipse軟件開發(fā)工其的過程中,經(jīng)過我的多次實(shí)驗(yàn),終于在eclipse 丌發(fā)平臺(tái)上完成了一個(gè)簡(jiǎn)單的計(jì)算器java程序,這是我一學(xué)期的學(xué)習(xí)成果,也 是我的實(shí)踐成果。此計(jì)算器具有功能為:力n、減、乘、除、階乘、倒數(shù)、平方根計(jì)算功能以及 清除計(jì)算值的功能,還添加了 m鍵的功能。設(shè)計(jì)過程需要引進(jìn)的類: awt圖形編程中:java. awt. borderlayout /區(qū)域布局java. awt. color /提供顏色空間java. awt. gridlayout
8、/以矩陣網(wǎng)格形式布局java. awt. event. actioneventjava. awt. event. actionlistenerswing界面組件中 javax. swing. jbutton /按鈕 javax. swing. j frame /窗體 javax. swing. jpanel /面板容器 javax. swing. jtextfield /文木框接著定義計(jì)算器上的按鍵功能顯示符號(hào)。用數(shù)組keys來(lái)存放符號(hào)鍵,數(shù) 組command存刪除鍵、初始化、清除鍵符號(hào):backspace, ce, c;以及創(chuàng)建文 木框?qū)ο髍csulttcxt,分別給它們創(chuàng)建按鈕,同時(shí)還需耍
9、定義一些在計(jì)算過程 屮要做出的判斷條件,代碼如下:private static final long serialversionuid = -1516581450261334610l;/*計(jì)算器上的鍵的顯示名字*/private final string keys = "7", "8 "9","sqrt", "4", ,5 m6",ii 木 ii ii | iv ii i ii ii 2 11 ii ii iv vi 111/ x 11 iv 0 v> 11+/ 11 " &qu
10、ot; n + ii iv vi y a/*計(jì)算器上的功能鍵的敁示名字*/private final string command = "backspace", "ce", "c" ;/*計(jì)算器上鍵的按鈕*/private dbutton keys = new jbuttonkeys.length;/*計(jì)算器上的功能鍵的按鈕*/private dbutton commands = new dbuttoncommand.length;/*計(jì)算結(jié)果文木框*/private dtextfield resulttext = new dtext
11、field("0");/標(biāo)志用戶按的是否是整個(gè)表達(dá)式的第-個(gè)數(shù)字,或者是運(yùn)算符后的第一個(gè)數(shù)字private boolean firstdigit = true;/計(jì)算的中間結(jié)果。private double resultnum = 0.0;/當(dāng)前運(yùn)算的運(yùn)算符private string operator =/操作是否合法private boolean operatevalidflag = true;然后就應(yīng)該開始構(gòu)建函數(shù),設(shè)置計(jì)算器界面。構(gòu)建初始化函數(shù),定義好計(jì)算器名稱,顯示位置,背景等屬性,構(gòu)建計(jì)算器按鍵的容器,利用網(wǎng)格布局器的排版,把功能鍵符號(hào)分別放到合適位置。接下來(lái),
12、要設(shè)定好計(jì)算器的顯示格式。1. 文本框的設(shè)置:文本框是用于顯示輸入或輸出數(shù)字。設(shè)置好文本框內(nèi)數(shù) 字的對(duì)齊方式,背景為g色,使用戶結(jié)果時(shí)能清楚明了。不許修改結(jié)采 文本框。resulttext.sethorizontalalignment(dtextfield.right);/不允許修改結(jié)果文本框resulttext.seteditable(false);/設(shè)s文木框背景顏色為門色resulttext.setbackground(color.white);2. 基本鍵的設(shè)置:將鍵放在両板內(nèi),用網(wǎng)格布局器排布,因?yàn)楣δ苕I共20個(gè),所以設(shè)置為4行5列的網(wǎng)格形式。按鍵的前景顏色統(tǒng)一為白色,背景為黑色。此
13、部分如下圖:dpanel calckeyspanel = new panel();/川網(wǎng)格布局器,4行,5列的網(wǎng)格,網(wǎng)格之間的水平方向間隔為3個(gè)象累,垂直方h'd間隔為3個(gè)象素calckeyspanel.setlayout(new gridlayout(4, 5, 3, 3); for (int i = 0; i < keys.length; i+) keysi = new button(keysi); calckeyspanel.add(keysi);keysi. set foreground (color, uz/jite); keysisetbackground(color
14、.black);/運(yùn)算符鍵用紅色標(biāo)示,其他鍵川藍(lán)色表示keys3.setforeground(color.white); keys8.setforeground(color.white); keys13.setforeground(color.white); keys18.setforeground(color.white); keys19. set foreground (color euzhite);/初始化功能鍵,都用紅色標(biāo)示。將功能鍵放在一個(gè)畫板dpanel commandspanel = new dpanel();/川網(wǎng)格布w器,1行,3列的網(wǎng)格,m格之間的水平方向間隔為3個(gè)象素,垂
15、直方 向間隔為3個(gè)象素commandspanel.setlayout(new gridlayout(1, 3, 3 3); for (int i = 0; i < command.length; i+) commandsi = new 3button(commandi); commandspanel.add(commandsi); commandsisetforeground(color.white); commandsisetbackground(color.btocfe);在設(shè)置好界面后,就幵始處理各個(gè)按鍵的事件處理。(1) backspace鍵:刪除或叫退格,將口前文木框內(nèi)的最后一
16、個(gè)字符去掉; 如果文本框只冇一個(gè)數(shù)字,則將它改成0;如果文本框a沒冇|a)容,則初始 化計(jì)算器的各種值。(2) 數(shù)字鍵和小數(shù)點(diǎn):如果輸入的是小數(shù)點(diǎn),而且之前沒冇小數(shù)點(diǎn),貝ij將 小數(shù)點(diǎn)附在當(dāng)前文本框結(jié)果的后面;如果輸入的是數(shù)字,則將數(shù)字附在當(dāng)前文本 框結(jié)果后面。(3) c鍵:將初始化計(jì)算器的各種值。(4) 運(yùn)算符鍵:如果是除法,則當(dāng)除數(shù)為0時(shí)提示錯(cuò)誤信息“除數(shù)不能為0”; 如果是倒數(shù),當(dāng)結(jié)果文本框?yàn)?時(shí),也應(yīng)提示錯(cuò)誤信息“零沒冇倒數(shù)”;如果是 百分號(hào)運(yùn)算,則將結(jié)果文本框除以100,得到答案;如果是正負(fù)號(hào)運(yùn)算,則將結(jié) 果文木框乘以-1,得到答案。也應(yīng)當(dāng)注意雙精度浮點(diǎn)數(shù)的運(yùn)算。在處理好按鍵的各種功
17、能后,就應(yīng)該處理從結(jié)果文本框中獲取數(shù)字。最f,寫出程序的主函數(shù),設(shè)置程序的開始運(yùn)行。程序運(yùn)行截閣:1.初始化界面:x3.計(jì)算0的倒數(shù):4.階乘!:1115.計(jì)算乎方根:計(jì)算器2計(jì)算器 -! 口i_2!_cbackspace_5!_i1.4142135623730951backspace1206. backspace鍵的使用:iii灘 nh£77.四則運(yùn)算(以加法為例:4+5):£計(jì)翳口 d心得體會(huì):雖然以前多多少少接觸過eclipse這個(gè)開發(fā)工具,但是我并不了解它。然而 經(jīng)過-個(gè)學(xué)期軟件開發(fā)工具的學(xué)習(xí),我對(duì)eclipse有了更加的了解,系統(tǒng)的獲知 了有關(guān)于eclipse開發(fā)
18、工具的知識(shí),為我未來(lái)的開發(fā)又添加了一些技能基礎(chǔ)。要 想打勝仗,不僅僅需要宥一個(gè)好武器,還需要使用好武器的技能,否則武器就會(huì) 成為一塊廢鐵;開發(fā)程序也不例外,冇如eclipse這樣的優(yōu)秀幵發(fā)平臺(tái),僅僅冇 它不行,還必須學(xué)會(huì)如何使用它,如何快捷,高效的使用它,才是我們要追求的 標(biāo)。當(dāng)我接觸到軟件開發(fā)工具這門課吋,我很是激動(dòng),因?yàn)閷?duì)于開發(fā)程序來(lái)說, 開發(fā)工具就像是一把利劍,宥了利劍才會(huì)讓我們的軟實(shí)力綻放出來(lái)。倘若你的編 程能很好,但你卻對(duì)于使用7t發(fā)工具一竅不通,那么你在丌發(fā)的過程屮就會(huì)遇到 很多的麻煩,速度也會(huì)很慢,效率很低,這些簡(jiǎn)直是浪費(fèi)生命的行為。所以學(xué)好 一些必要的軟件開發(fā)工具是很有必要的。
19、在接下來(lái)的學(xué)習(xí)中,我學(xué)到了 eel ipse的環(huán)境、平臺(tái)體系結(jié)構(gòu)和eclipse集 成開發(fā)環(huán)境,及在eclipse中如何進(jìn)行java開發(fā),詳細(xì)講述java代碼的編寫及 java代碼的編譯和調(diào)試;并經(jīng)過第一次的上機(jī)實(shí)驗(yàn)我掌握了實(shí)際運(yùn)用eclipse 環(huán)境來(lái)進(jìn)行java編程。另外我也學(xué)習(xí)到了單元測(cè)試的方法和步驟以及tdd (軟 件驅(qū)動(dòng)開發(fā))和swt程序開發(fā),最后還丫解到丫 mysql及建模工具的一些知識(shí)。 另外通過課堂外的五次上機(jī)實(shí)驗(yàn)實(shí)際操作了在eclipse環(huán)境下的一些關(guān)于java 編程以及調(diào)試的相關(guān)過程加深了我對(duì)eclipse的學(xué)習(xí)。在這門課程外,通過另外 一門java程序設(shè)計(jì)與實(shí)踐教程的學(xué)習(xí)
20、,使我對(duì)使用java編程知識(shí)冇了一定 的基礎(chǔ)知識(shí)掌握,讓我更好的來(lái)學(xué)習(xí)計(jì)算機(jī)軟件工具,更容易理解其中的知 識(shí),同吋通過這門課程的學(xué)習(xí)我也知道y java的重要性。在學(xué)完這門課后,我利用eel ipse平臺(tái)完成了一個(gè)簡(jiǎn)單計(jì)算器,設(shè)計(jì)開發(fā)計(jì) 算器的過程,我學(xué)會(huì)在eclipse環(huán)境卜*調(diào)試并運(yùn)行,在不會(huì)的地方可以從書上、 網(wǎng)上或者幫助文檔上而查找資料。也充分地意識(shí)到自己在java語(yǔ)言上知識(shí)量的 不足與缺陷,充分意識(shí)到要想充分展現(xiàn)自己的編程水平,最起碼最基本的就是要 熟練運(yùn)用開發(fā)平臺(tái)。同吋在這些實(shí)踐屮學(xué)會(huì)以及領(lǐng)悟;t許多:eclipse功能強(qiáng)大, 但最重要的是學(xué)會(huì)并且熟練的使用eclipse,因?yàn)檫@樣
21、能提高我們工作是效率, 節(jié)約時(shí)間;遇到錯(cuò)誤時(shí)千萬(wàn)不要輕易說出放棄,因?yàn)闆]育勞動(dòng)就不會(huì)宥成果,往 往在我們遇到問題,解決問題的時(shí)候j會(huì)讓我們學(xué)到知識(shí):再者就是耍有耐心, 開發(fā)程序的過程是跟代碼打交道,很容易出現(xiàn)錯(cuò)誤?,F(xiàn)在我們正在學(xué)習(xí)階段,既 然以選擇這樣一個(gè)充滿創(chuàng)造力與刺激的職位方向,那么我們應(yīng)該需要具奮上面所 說的基本索質(zhì)。通過此次的編程學(xué)習(xí),使我對(duì)java語(yǔ)言和elipse宥了更深的認(rèn)識(shí)和了解, 同時(shí)通過此次的編程我也認(rèn)識(shí)到自己所存在的大景的不足,還需要更努力更進(jìn)一 步的學(xué)習(xí)。在以后,我會(huì)慢慢了解eclipse的強(qiáng)大功能,深入學(xué)習(xí),在編寫程序 的能力上爭(zhēng)取不斷的提高。參考文獻(xiàn):1234jav
22、a核心編程技術(shù) eclipse從入門到精通 精通eel ipse電子工業(yè)岀版社 清華大學(xué)出版社 清肀人挙出版社java程序設(shè)計(jì)與實(shí)踐教程清華大學(xué)出版社劉中兵java研究室編著 強(qiáng)鋒科技陳剛編著 張大治應(yīng)群編著 王薇董迎紅編著程序源代碼:package test;import java.awtborderlayout; import java.awt.color; import java.awt.gridlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javaxswin
23、g.dbutton; import javax.swing.zjframe; import javax.swing.dpanel; import javax.swing.dtextfield;/*個(gè)計(jì)算器,與windows附件a帶計(jì)算器的標(biāo)準(zhǔn)版功能、界而相仿。們.還不支持鍵盤操作public class calculator extends dframe implements actionlistener private static final long serialversionuid = -1516581450261334610l;/*計(jì)算器上的鍵的姐示名字*/private final
24、 string keys = "7", "8", "9","sqrt", "4", "5"ii * iv ii i ii ii 1 ii ii 2 h ii 3 ii 曹1 iv 11 1/ x h 19 0 h m+/ 1審 m 1審 n + n 曹i n 9/*計(jì)算器上的功能鍵的顯示名字*/private final string command = "backspace", "ce", "c" ;/*計(jì)算器上鍵
25、的按鈕*/private dbutton keys = new dbuttonkeys.length;/*計(jì)算器上的功能鍵的按鈕*/private dbutton commands = new dbuttoncommand.length;/*計(jì)算結(jié)果文本框*/private dtextfield resulttext = new textfield("0n);/標(biāo)志用戶按的是否是整個(gè)農(nóng)達(dá)式的第一個(gè)數(shù)字,或者是運(yùn)算符g的第一個(gè)數(shù)字private boolean firstdigit = true;/計(jì)算的屮間結(jié)果。private double resultnum = 0.0;/當(dāng)前運(yùn)算
26、的運(yùn)算符private string operator =/操作是否合法private boolean operatevalidflag = true;/*構(gòu)造函數(shù)*/public calculator) super();/初始化計(jì)算器init();/設(shè)置計(jì)算器的背景顏色this.setbackground(color.light_gray);this.settitle("計(jì)算器);ii在屏幕(500, 300)坐標(biāo)處顯示計(jì)算器this.setlocation(500, 300);/不許修改計(jì)算器的大小this.setresizable(false);/使計(jì)算器中各組件大小合適thi
27、s.pack();/*初始化計(jì)算器*/private void init() /文本框中的內(nèi)容采川右對(duì)齊方式resulttext.sethorizontalalignment(dtextfieldright);/不允許修改結(jié)果文本框resulttext.seteditable(false);/設(shè)s文木框背景顏色為白色resulttext.setbackground(colorwhite);/初始化計(jì)算器上鍵的按鈕,將鍵放在一個(gè)w板內(nèi)panel calckeyspanel = new panel();/用網(wǎng)格布局器,4行,5列的網(wǎng)格,網(wǎng)格之間的水平方h'd間隔為3個(gè)象素,垂直方句間隔為3
28、 個(gè)象素calckeyspanel.setlayout(new gridlayout(4, 5, 3, 3); for (int i = 0; i < keys.length; i+) keysi = new dbutton(keysi); calckeyspaneladd(keysi); keysi.setforeground(color.white); keysfi.setbackground(coloredtoc/?);/運(yùn)算符鍵用紅色標(biāo)示,其他鍵用藍(lán)色表示keys3.setforeground(color.white); keys8setforeground(color.whit
29、e); keys13. set foreground (color keys18.setforeground(colorwhite); keys19.setforeground(color.white);/初始化功能鍵,都用紅色標(biāo)示。將功能鍵放在一個(gè)畫板rtdpanel commandspanel = new panel();/用網(wǎng)格介局器,1行,3列的網(wǎng)格,網(wǎng)格之間的水平方向間隔為3個(gè)象素,垂直方向間隔為3 個(gè)象素commandspanel.setlayout(new gridlayout(lj 3, 3, 3); for (int i = 0; i < command.length;
30、 i+) commandsi = new dbutton(commandi); commandspanel.add(commandsi);commandsi.setforeground(color.white); commands i set background (color 辦 lac/?) j/ k面進(jìn)行計(jì)算器的整體布w,將calckeys和command畫板放y十:計(jì)算器的屮部,/將文本框放在北部,將calmsisi板放在計(jì)算器的南部。/新迷-個(gè)大的畫板,將上面迷立的command和calckeys岡板放在該岡板aldpanel panell = new dpanel();/畫板采川邊
31、界布局管理器,畫板里組件之間的水平和垂s方向卜.間隔都為3象素panellsetlayout(new borderlayout(3, 3); panell.add(nnorth' commandspanel); panell.add(south、calckeyspanel);/建立一個(gè)畫板放文本框dpanel top = new dpanel();top.setlayout(new borderlayout();top.add(,center,'resulttext);/整體布局getcontentpane()setlayout(new borderlayout(3, 5);
32、getcontentpane().add("north' top); getcontentpane() .add( center' panell);/為各按鈕添加事件偵聽器/都使川同一個(gè)事件偵聽器,即本對(duì)象。本炎的聲明中#implements actionlistenerfor (int i = 0; i < keys.length; i+) keysi.addactionlistener(this);for (int i = 0; i < command.length; i+) commandsiaddactionlistener(this);/*處理事
33、件*/public void actionperformed(actionevent e) /獲取事件源的標(biāo)簽string label = e.getactioncommand(); if (label.equals(command0) / 用戶按/"backspace"鍵 handlebackspace(); else if (label.equals(commandf1) /用戶按了"ce"鍵resulttext.settext("0"); else if (label.equals(c0mmand2) /用戶按了"c&
34、quot;鍵handlec(); else if ("0123456789.".indexof(label) >= 0) /用戶按了數(shù)字鍵或者小數(shù)點(diǎn)鍵handlenumber(label);/ handlezero(zero); else /用戶按了運(yùn)算符鍵handleoperator(label);/*處理backspace鍵被按下的事件*/private void handlebackspace() string text = resulttext.gettext(); int i = text.length(); if (i > 0) /退格,將文本锿后一
35、個(gè)字符去掉text = text.substring(0, i 一 1); if (text.length() = 0) /如果文本沒有了內(nèi)容,則初始化計(jì)算器的務(wù)種值resulttext.settext("0h); firstdigit = true; operator =; else /顯示新的文本resulttext.settext(text);/*處理數(shù)字鍵被按下的求件 * param key */private void handlenumber(string key) if (firstdigit) /輸入的笫一個(gè)數(shù)字resulttext.settext(key)j els
36、e if (key.equals(".") && (resulttext.gettext().indexof(".") < 0) /輸入的是小數(shù)點(diǎn),并且之前沒奮小數(shù)點(diǎn),則將小數(shù)點(diǎn)附在結(jié)果文本框的后面resulttext. settext(resulttext .gettext() + ".); else if (!key.equals("") /如災(zāi)輸入的不足小數(shù)點(diǎn),則將數(shù)字附ft結(jié)果文本桐的后而resulttextsettext(resulttext.gettext() + key);/以后輸入的肯定
37、不是第一個(gè)數(shù)字了firstdigit = false;/*處理c鍵被按下的求件* /private void handlec() /初始化計(jì)算器的各種值resulttext.settext("0"); firstdigit = true; operator = n=n;/*處理運(yùn)算符鍵被按下的事件 * param key */private void handleoperator(string key) if (operator.equals("/") /除法運(yùn)算/如果當(dāng)前結(jié)果文本框中的位等于0if (getnumberfromtext() = 0.0) /操作不合法operatevalidflag = false; resulttext. set text ("0 不能為除數(shù)"); else resultnum /= getnumberfromtext(); else if (operator.equals("l/xn) /倒數(shù)運(yùn)算if (resultnum = 0.0) /操作不合法operatevalidflag = false; resulttex
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高中語(yǔ)文第四單元19南朝詩(shī)兩首練習(xí)含解析粵教版必修1
- 高新技術(shù)企業(yè)認(rèn)定申請(qǐng)書
- 旅行社分社申請(qǐng)書
- 二零二五年度農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管合作協(xié)議
- 大學(xué)班干部申請(qǐng)書范文
- 公司項(xiàng)目申請(qǐng)書
- 2025年度園林景觀工程苗木種植與養(yǎng)護(hù)服務(wù)總包合同
- 2025年度數(shù)字經(jīng)濟(jì)戰(zhàn)略合作合同
- 入動(dòng)漫社申請(qǐng)書
- 2025年度影視剪輯行業(yè)技術(shù)標(biāo)準(zhǔn)制定合同
- 公司違規(guī)違紀(jì)連帶處罰制度模版(2篇)
- 2025屆高考物理二輪總復(fù)習(xí)第一編專題2能量與動(dòng)量第1講動(dòng)能定理機(jī)械能守恒定律功能關(guān)系的應(yīng)用課件
- 內(nèi)業(yè)資料承包合同個(gè)人與公司的承包合同
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)(共380題含答案)
- 【履職清單】2024版安全生產(chǎn)責(zé)任體系重點(diǎn)崗位履職清單
- 跨學(xué)科實(shí)踐活動(dòng)10調(diào)查我國(guó)航天科技領(lǐng)域中新型材料新型能源的應(yīng)用課件九年級(jí)化學(xué)人教版(2024)下冊(cè)
- 2022年全國(guó)醫(yī)學(xué)博士英語(yǔ)統(tǒng)一考試試題
- 學(xué)校工作總結(jié)和存在的不足及整改措施
- Petrel中文操作手冊(cè)(1-3)
- 《工業(yè)自動(dòng)化技術(shù)》課件
- 代理分銷銷售協(xié)議書
評(píng)論
0/150
提交評(píng)論