《面向?qū)ο蟪绦蛟O(shè)計》實驗報告十一

上傳人:jun****875 文檔編號:17746328 上傳時間:2020-12-04 格式:DOC 頁數(shù):14 大?。?.17MB
收藏 版權(quán)申訴 舉報 下載
《面向?qū)ο蟪绦蛟O(shè)計》實驗報告十一_第1頁
第1頁 / 共14頁
《面向?qū)ο蟪绦蛟O(shè)計》實驗報告十一_第2頁
第2頁 / 共14頁
《面向?qū)ο蟪绦蛟O(shè)計》實驗報告十一_第3頁
第3頁 / 共14頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《面向?qū)ο蟪绦蛟O(shè)計》實驗報告十一》由會員分享,可在線閱讀,更多相關(guān)《《面向?qū)ο蟪绦蛟O(shè)計》實驗報告十一(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、面向?qū)ο蟪绦蛟O(shè)計實驗報告實驗十一 繪制圖形【實驗?zāi)康摹空莆帐褂脠D形類Graphics 畫出不同圖形的方法?!緦嶒瀮?nèi)容】(選做一題)1. 編寫繪制圓形程序DrawOval.java。點擊“確定”按鈕時,在畫布的指定位置畫圓。2. 編寫移動方塊程序MoveSquare.java。程序由二個類組成:窗體主類(表現(xiàn)層)負(fù)責(zé)控制,確定所有組件的位置,處理用戶對方塊的操作。畫布MoveCanvas類(邏輯層)負(fù)責(zé)繪圖,其paint負(fù)責(zé)繪制方塊,其方法moveUp(),moveDown(),moveLeft(),moveRight()分別響應(yīng)窗體主類actionPerformed ()方法的對應(yīng)的按鈕事件,

2、再調(diào)用repaint方法來刷新圖像?!緦嶒瀳蟾妗繉嵙?xí)時間: 實習(xí)地點: 實習(xí)機(jī)號:具體實驗內(nèi)容1. 編寫繪制圓形程序DrawOval.java。點擊“確定”按鈕時,在畫布的指定位置畫圓。運(yùn)行成功的程序為:import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.*;import javax.swing.*;public class DrawOval extends JFrame implements ActionListener Ovalcanvas canvas;JTextFi

3、eld in_R,in_X,in_Y;JButton btn;public static void main(String args) / TODO Auto-generated method stubDrawOval DrawOval=new DrawOval();public DrawOval() super(畫布上繪制圓);setSize(600,300);setVisible(true);canvas=new Ovalcanvas();in_R=new JTextField(6);in_X=new JTextField(6);in_Y=new JTextField(6);setLayo

4、ut(new FlowLayout();add(new JLabel(輸入圓的位置坐標(biāo):);add(in_X);add(in_Y);add(new JLabel(輸入圓的半徑:);add(in_R);btn=new JButton(確定); btn.addActionListener(this);add(btn);add(canvas);validate();setDefaultCloseOperation(EXIT_ON_CLOSE);class Ovalcanvas extends Canvasint x,y,r; void Ovalcanvas() setSize(200,200); s

5、etBackground(Color.cyan); public void setOval(int x,int y,int r) this.x=x;this.y=y;this.r=r;public void paint(Graphics g) g.drawOval(x, y, 2*r, 2*r);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubint x,y,r;try x=Integer.parseInt(in_X.getText(); y=Integer.parseInt

6、(in_Y.getText(); r=Integer.parseInt(in_R.getText();canvas.setOval(x,y,r);canvas.repaint();catch(NumberFormatException ee) x=0;y=0;r=0;結(jié)果截圖:下面為具體實驗過程:(1)運(yùn)行,出現(xiàn)錯誤,主要是“cannot be resolved to a type”的錯誤。WindowEvent cannot be resolved to a typeGraphics cannot be resolved to a typeConstant cannot be resolve

7、d to a variableConstant cannot be resolved to a variable(2) 換了一個程序,運(yùn)行,出現(xiàn)錯誤:Multiple markers at this line- Syntax error on token (, delete this token- Syntax error on token ), delete this tokenMultiple markers at this line- Syntax error on token(s), misplaced construct(s)- Syntax error on token void,

8、 expected- Syntax error, insert interface Identifier to complete InterfaceHeader(3)主窗體界面應(yīng)該調(diào)研setOval(intx,inty,intN)變成畫布類邏輯層。(4)按照云課堂PPT的程序,輸入,發(fā)現(xiàn)有如下錯誤:Ovalcanvas cannot be resolved to a typeSyntax error on token Invalid Character, ; expectedJLable cannot be resolved to a typeSyntax error on token Inv

9、alid Character, ; expectedMultiple markers at this line- Ovalcanvas cannot be resolved to a type- Ovalcanvas cannot be resolved to a typeException in thread main java.lang.Error: Unresolved compilation problem: at DrawOval.main(DrawOval.java:9)(5)第35行class OvalCanvas extends Canvas應(yīng)該改為“class Ovalcan

10、vas extends Canvas”,沒有注意大小寫。(6)第14行“super(畫布上繪制圓);”這里的“;”有問題,忘了使用英文符號。(7)將以下程序: x=Integer.parseInt(jl1.getText(); y=Integer.parseInt(jl2.getText(); r=Integer.parseInt(jl3.getText();改為:x=Integer.parseInt(in_X.getText(); y=Integer.parseInt(in_Y.getText(); r=Integer.parseInt(in_R.getText();(8)經(jīng)過觀察,發(fā)現(xiàn)我之

11、所以會出現(xiàn)“JLable cannot be resolved to a type”的錯誤,是因為我把“JLabel”寫出了”JLable”.(9) 經(jīng)改善以上一系列程序錯誤以后,我運(yùn)行程序,程序能運(yùn)行成功,但是當(dāng)我輸入圓的半徑及位置坐標(biāo)之后,點擊“確定”卻無法畫出一個與之相對應(yīng)的圓。明明程序是和老師PPT里的程序是一樣的,但就是畫不出圓來。(10) 在以上問題的基礎(chǔ)上,首先,我將第8行的代碼“JLabel jl1,jl2;”刪除。(11)其次,我將第22及23行的代碼jl1=new JLabel(輸入圓的位置坐標(biāo):);this.add(jl1);改為:add(new JLabel(輸入圓的位

12、置坐標(biāo):);(12)最后,我將第25及26的代碼jl2=new JLabel(輸入圓的半徑:);this.add(jl2);改為:add(new JLabel(輸入圓的半徑:);(13) 最后的最后,經(jīng)過一系列對該程序的摸索及改正,運(yùn)行成功,結(jié)果截圖為:實習(xí)小結(jié)1.實驗一主要是卡在“cannot be resolved to a type”這里,比如說:Ellipse2D cannot be resolved to a type(橢圓不能被解析為類型)等“cannot be resolved to a type”的類似錯誤。這部分錯誤主要是因為沒有注意英文字母的大小寫以及中英式字符的使用而導(dǎo)致

13、的,比如說將“JLabel”寫成了”JLable”則會出現(xiàn)“JLable cannot be resolved to a type”的錯誤。在以后的實驗中還是要多注意字母的大小寫這類小問題,因為代碼總是英文和中文互用,很容易搞混。2.實驗一還卡在以下錯誤:OvalCanvas cannot be resolved to a type(主要是因為“Ovalcanvas”寫成了“OvalCanvas”,字母大小寫的問題。Syntax error on token Invalid Character, ; expected。(符號“;”沒有用英文字符“;”的緣故)。3.對于實驗一,主要是要掌握“主窗

14、體界面應(yīng)該調(diào)研setOval(intx,inty,intN)變成畫布類邏輯層”的知識點。難寫的程序是以下部分:int x,y,r;try x=Integer.parseInt(in_X.getText(); y=Integer.parseInt(in_Y.getText(); r=Integer.parseInt(in_R.getText();canvas.setOval(x,y,r);canvas.repaint();catch(NumberFormatException ee) x=0;y=0;r=0;4.其實這個實驗我是在參考老師云課堂PPT才寫出來的。在做該實驗的過程中,犯了很多不應(yīng)該犯的低級錯誤,特別是英文字母的大小寫及中英式字符的運(yùn)用這些低級錯誤,在以后的實驗中,我要更加注意這方面的問題。

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!