版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
凸多邊形顯示器一、實(shí)驗(yàn)?zāi)康恼莆疹惖穆暶鞲袷胶投喾N封裝措施解對象的引用模型掌握累的繼承原則正確使用重載和覆蓋等多態(tài)概念設(shè)計(jì)可復(fù)用方法解運(yùn)行時多態(tài)性概念握明抽象類和最終類的方法,理解抽象類的作用。理解包的概念和作用JDK建自定義包導(dǎo)入包的方法在MyEclipse集成開發(fā)環(huán)境中,通過設(shè)置編譯路徑引用其他項(xiàng)目中聲明的類。理解接口的作用理解接口和實(shí)接口的類的關(guān)系握聲明接口一個類事項(xiàng)多個接口的聲明和使用方法;理解內(nèi)嵌類型的概念,掌握聲明內(nèi)部類的方法;熟悉Java語包和實(shí)驗(yàn)包的常用類。了解程序運(yùn)行中出現(xiàn)的各種錯誤對不同的錯誤采不同的手段排除錯誤理解異常處理機(jī)制的運(yùn)行方式,掌握異處理的基本方法具備發(fā)現(xiàn)及處理程序錯誤的能力,使應(yīng)用程序具有穩(wěn)定性和可靠性。掌握組的使用方法理解委托事件處理模型,掌握多種布局方式,掌握窗口菜單和快捷菜單設(shè)計(jì)方式熟悉在組件上繪圖的方法計(jì)出具有圖形用戶界面的能夠響應(yīng)事件的應(yīng)程序。二、題:凸多邊形顯示器三、題意分析1、功能編寫一個展示凸多邊形性質(zhì)的程序供輸入點(diǎn)的端口供顯示點(diǎn)排列后順序的文本框、提供顯示凸多邊形面積與周長的文本行,提供顯示凸多邊形形狀的畫板。、如何實(shí)現(xiàn)編寫一個類來顯示框架和響應(yīng)各類單擊事件。編寫一個PolygonCanvas用來根據(jù)條件繪圖。四、源程序清單PolygonJFrame類importjava.awt.Dimension;importjava.awt.GridLayout;importimportjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JCheckBox;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importimportjavax.swing.JScrollPane;importimport/
publicJFrameActionListener{PolygonCanvaspcs;//多邊形畫板drawbutton,naturebutton;//畫圖、清理按鈕JTextField輸入點(diǎn)、和現(xiàn)實(shí)多邊形性質(zhì)的文本行JTextAreashowpoints;//顯每個點(diǎn)的信息JCheckBoxArea,perimeter;//選擇顯示的信息pointp[]=newintnum=0;JPanelpanel=newGridLayout(1,3));publicAreamessage,perimetermessage;publicnf=true;//認(rèn)可以構(gòu)成凸多邊形public{凸多邊形"Dimensiondim=getToolkit().getScreenSize();//得屏幕分辨率(屏幕分辨率是個對)dim.width/3,dim.height/3);//窗口居中this.setDefaultCloseOperation(EXIT_ON_CLOSE);//窗關(guān)閉,程序結(jié)束panelEdti=newGridLayout(5,1));panel.add(panelEdti,0);addpoint=newJTextField("點(diǎn)輸入格式(XXXX,XXXX)");addpoint.addActionListener(this);//本框響應(yīng)單擊事件Area=new面"JCheckBox("長"selected=newJPanel();//將兩個復(fù)選按鈕入同一面板selected.add(perimeter);panelEdti.add(selected);showpolygon=newJTextField("屬性"showpolygon.setEditable(false);//性行不能編輯JButton("繪圖");JButton("性"naturebutton.addActionListener(this);showpoints=newJTextArea();jsp=newJScrollPane(showpoints);this.getContentPane().add(panel);point[]temp=newpoint[1];/
pcsPolygonCanvas(temp,nf);//板初始化為軸y軸原點(diǎn)(this.setVisible(true);}publicvoide){//TODOAuto-generatedstubif(e.getSource()==addpoint)//響應(yīng)點(diǎn)編輯文本框{try{//處理文本框的數(shù)據(jù)thrownew第+(num+1)+"的輸入格式錯誤,請按格式輸!");intintpoint(x,y);//處理后的點(diǎn)放入數(shù)組p中第個點(diǎn)"+p[num-1]+"\n");}f)若輸入格式不正確則拋出相當(dāng)于沒輸入{JOptionPane.showMessageDialog(drawbutton,f.toString());}}if(e.getSource()==drawbutton)//若按繪圖按鈕{if(nf){point[]realp=newpoint[num];for(intrealp[i]=p[i];try{Areamessage=polygon.area();perimetermessage=polygon.perimeter();nf);pcs.repaint();排后的點(diǎn)如下:for(inti=0;i<polygon.p.length&&polygon.p[i]!=null;i++)第+(i+1)+"個點(diǎn)"/
nf=false;}//若不能構(gòu)成凸多邊形則Polygon構(gòu)函數(shù)拋出異常f)//捉異常只畫點(diǎn){nf=false;pcs.set(realp,nf);pcs.repaint();JOptionPane.showMessageDialog(drawbutton,f.toString()+"中藍(lán)點(diǎn)即為所給點(diǎn)");}}//已經(jīng)畫過圖就拋出對話框{int是否重新繪!");選擇確定就重畫{point[]temp=newpoint[1];pcs.repaint();請重新輸入");}否則直接退出程序System.exit(0);}}if(e.getSource()==naturebutton)//擇屬性按鈕{{showpolygon.setText("");showpolygon.setText("面:"+Areamessage);if(perimeter.isSelected())周"+perimetermessage);}必須先繪圖!");}}/***/
*/publicvoidargs){//TODOAuto-generatedstubPolygonJFrame();}}PolygonCanvas類importjava.awt.Canvas;importjava.awt.Color;importimportimportpublicimplementsComponentListener{pointp[];nf;public[]p,booleannf)//nf用畫圖的選擇{}publicvoid[]p,booleannf){point[p.length];this.nf=nf;for(inti=0;i<p.length;i++)this.p[i]=newpoint(p[i]);}publicvoidpaint(Graphics{intx0=this.getWidth()/2;intif(nf)//若能構(gòu)成凸多邊形則畫多邊形{g.drawLine(x0,0,x0,y0*2);y0,x0*2,intfor(inti=0;i<length-1;i++)p[i].y+y0,p[i+1].x+x0,p[length-1].y+y0,p[0].x+x0,p[0].y+y0);}//若不能則只畫點(diǎn)/
{intfor(inti=0;i<length;i++)y0+p[i].y-5,5);}}publicvoid{//TODOAuto-generatedstubthis.repaint();}publicvoid{//TODOAuto-generatedstub}publicvoidcomponentShown(ComponentEvente){//TODOAuto-generatedstub}publicvoide){//TODOA
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙教版選擇性必修1語文下冊階段測試試卷含答案
- 2025年冀教新版選修4歷史上冊月考試卷含答案
- 2025年滬科新版七年級數(shù)學(xué)上冊階段測試試卷含答案
- 技能拓展培訓(xùn)合同(2篇)
- 抵押變更合同(2篇)
- 承包的合同范本(2篇)
- 2025版農(nóng)場農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)建設(shè)合同4篇
- 2025年度智能建筑項(xiàng)目搭建委托合同4篇
- 2025年度知識產(chǎn)權(quán)質(zhì)押融資合同4篇
- 二零二五年度戀愛雙方知識產(chǎn)權(quán)共創(chuàng)共享合同3篇
- 慈溪高一期末數(shù)學(xué)試卷
- 天津市武清區(qū)2024-2025學(xué)年八年級(上)期末物理試卷(含解析)
- 《徐霞客傳正版》課件
- 江西硅博化工有限公司年產(chǎn)5000噸硅樹脂項(xiàng)目環(huán)境影響評價
- 高端民用航空復(fù)材智能制造交付中心項(xiàng)目環(huán)評資料環(huán)境影響
- 貴州省黔東南州2024年七年級上學(xué)期數(shù)學(xué)期末考試試卷【附答案】
- 量子醫(yī)學(xué)成像學(xué)行業(yè)研究報(bào)告
- DB22T 3268-2021 糧食收儲企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化評定規(guī)范
- 辦事居間協(xié)議合同范例
- 正念減壓療法詳解課件
- 學(xué)校校本課程《英文電影鑒賞》文本
評論
0/150
提交評論