




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——Java計算器試驗(yàn)報告
一、目標(biāo):
通過Java程序開發(fā)實(shí)訓(xùn)使學(xué)生把握《面向?qū)ο蟪绦蛟O(shè)計(Java)》課堂講授的內(nèi)容,靈活運(yùn)用到Java程序的開發(fā)與設(shè)計中。二、要求:
按時參與Java程序開發(fā)實(shí)訓(xùn)訓(xùn)練,不得遲到和早退;獨(dú)立完成程序設(shè)計;按要求撰寫實(shí)踐報告。三、詳細(xì)內(nèi)容:
使用《面向?qū)ο蟪绦蛟O(shè)計(Java)》課程講授內(nèi)容,編寫一個簡單的計算器,要求實(shí)現(xiàn)如下功能:1.進(jìn)行圖形界面設(shè)計
通過圖形界面設(shè)計,把握Frame類、Panel類、5種布局管理器、文本框、標(biāo)簽及按鈕的使用方法。2.實(shí)現(xiàn)計算器的基本功能
包括加減乘除四則運(yùn)算、清除結(jié)果等功能。3.實(shí)現(xiàn)計算器的存儲計算功能
包括清空、使用清零、退格。和基本運(yùn)算4.類的屬性及所用到的方法布局
布局:
整個界面(Frame)采用BorderLayout布局P1組件添加到Frame的南部
P1采用默認(rèn)的流式布局添加文本框
P2組件添加到Frame的中部P2采用網(wǎng)格布局四行五列放各種按鈕用到的類:mycalKeyAdapterWindowAdapterMyCal類:mycal類的屬性:
b[];按鈕數(shù)組保存各種按鍵以后放到Panel2中tf;文本匡顯示輸入及運(yùn)算結(jié)果num1,num2,jieguo運(yùn)算數(shù)
charc,ch;運(yùn)算符號,ch為輸入的運(yùn)算符號,c保存ch輸入的“+-*/〞
Panelp1,p2;//兩個組件p1放文本匡p2放按鈕P2的布局為網(wǎng)格布局5行4列
mycal類的方法:1.構(gòu)造方法:
設(shè)置標(biāo)題;設(shè)置文本框;
文本框中添加匿名內(nèi)置類(KeyAdapter)實(shí)現(xiàn)鍵盤
2
的輸入和運(yùn)算;
將各種組件添加到容器,設(shè)置各種按鍵的顏色;添加WindowListenr監(jiān)聽器設(shè)置關(guān)閉按鈕;
2.Main方法:
新建一個mycal類;4.actionPerformed方法:設(shè)置按鈕的輸入和運(yùn)算,
當(dāng)按下運(yùn)算數(shù)將其顯示在文本匡中假使之前清零則
將零去除
當(dāng)按下運(yùn)算符將其保存在c中并將文本匡內(nèi)容清空當(dāng)按下等號判斷字符c的符號進(jìn)行相應(yīng)的運(yùn)算并將結(jié)果顯示在文本框中。
當(dāng)按下清空按鈕將文本框清空,當(dāng)按下退格按鈕取文本框中字符串的字串刪除一個符號。KeyAdapter類:
KeyAdapter類的屬性:mycal類中的屬性
KeyAdapter類的方法:keyPressed()方法當(dāng)鍵盤按下時,判斷鍵盤的輸入當(dāng)為“+-*/〞時記錄下num1及c;
當(dāng)為〞=〞或“Enter〞時記錄下num2并將結(jié)果計算出來keyReleased()方法
3
當(dāng)鍵盤松開時,
假使是按下“+-*/〞后松開將文本框清空
假使是按下“=〞或“Enter〞后松開將計算結(jié)果顯示在文本框中WindowAdapter類:
WindowAdapter類的屬性:WindowEvente
WindowAdapter類的方法:
windowClosing();設(shè)置關(guān)閉按鈕
、四、源代碼
/*
類mycal繼承Frame實(shí)現(xiàn)了ActionListener接口;
往容器中添加兩個組件Panel1,Panel2;Panel中放置文本匡,Panel2中放置各種按鍵;文本匡中以匿名內(nèi)置類的方式添加鍵盤監(jiān)聽器實(shí)現(xiàn)鍵盤的輸入及運(yùn)算;
為Panel2中各種按鍵添加動作監(jiān)聽器實(shí)現(xiàn)按鍵的輸入及運(yùn)算;
*/
4
importjava.awt.*;importjava.awt.event.*;
classmycalextendsFrameimplementsActionListener{
privateButton[]b;privateTextFieldtf;
privatedoublenum1,num2,jieguo;//運(yùn)算數(shù)privatecharc,ch;//運(yùn)算符Panelp1,p2;//兩個組件publicmycal(){
setTitle(\p1=newPanel();tf=newTextField(25);
tf.addKeyListener(newKeyAdapter(){//添加鍵盤監(jiān)聽器現(xiàn)鍵盤的輸入及運(yùn)算
publicvoidkeyPressed(KeyEvente){
charch=e.getKeyChar();if(\{}
if(ch=='='|ch==e.VK_ENTER){
num2=Double.parseDouble(tf.getText());num1=Double.parseDouble(tf.getText());c=ch;switch(c){
case'+':jieguo=num1+num2;break;case'-':jieguo=num1-num2;break;case'*':jieguo=num1*num2;break;case'/':jieguo=num1/num2;break;}}
publicvoidkeyReleased(KeyEvente){
charch=e.getKeyChar();if(\{}
if(ch=='='|e.getKeyCode()==e.VK_ENTER)
tf.setText(null);}
5
{tf.setText(Double.toString(jieguo));
}
}
});
p1.add(tf)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 料包類餐飲加盟合同(2篇)
- 2024-2025企業(yè)負(fù)責(zé)人安全培訓(xùn)考試試題【模擬題】
- 2024-2025部門級安全培訓(xùn)考試試題及參考答案
- 2024-2025項(xiàng)目安全培訓(xùn)考試試題含答案【達(dá)標(biāo)題】
- 2025標(biāo)準(zhǔn)物流行業(yè)勞動合同模板
- 2025年上海租房合同范本【標(biāo)準(zhǔn)】
- 2025年濾波型無功補(bǔ)償裝置項(xiàng)目合作計劃書
- 2025物流行業(yè)勞動合同
- 2025年濕式碾米機(jī)合作協(xié)議書
- 2025年室內(nèi)LED照明燈具合作協(xié)議書
- 培訓(xùn)行業(yè)用戶思維分析
- 星巴克消費(fèi)者數(shù)據(jù)分析報告
- 實(shí)時數(shù)據(jù)采集系統(tǒng)方案
- PMC-651T配電變壓器保護(hù)測控裝置使用說明書V1.2
- 中國紅色革命故事英文版文章
- 《體育保健學(xué)》課件-第三章 運(yùn)動性病癥
- 雷雨話劇第四幕雷雨第四幕劇本范文1
- 辦公設(shè)備維保服務(wù)投標(biāo)方案
- 服裝終端店鋪淡旺場管理課件
- PQR-按ASME要求填寫的焊接工藝評定報告
- 醫(yī)院中央空調(diào)維保合同范本
評論
0/150
提交評論