JAVA實(shí)驗(yàn)報(bào)告簡(jiǎn)單繪圖程序精編_第1頁
JAVA實(shí)驗(yàn)報(bào)告簡(jiǎn)單繪圖程序精編_第2頁
JAVA實(shí)驗(yàn)報(bào)告簡(jiǎn)單繪圖程序精編_第3頁
JAVA實(shí)驗(yàn)報(bào)告簡(jiǎn)單繪圖程序精編_第4頁
JAVA實(shí)驗(yàn)報(bào)告簡(jiǎn)單繪圖程序精編_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JAVA實(shí)驗(yàn)報(bào)告簡(jiǎn)單繪圖

程序精編LeleWaSwrittenin2021實(shí)驗(yàn)三繪制圖形一、實(shí)驗(yàn)?zāi)康膶W(xué)會(huì)JButton的使用,能進(jìn)行JButton的基本操作,能使用JButton構(gòu)造一個(gè)圖形界面框架通過實(shí)驗(yàn)熟悉swing圖形用戶界面程序設(shè)計(jì)熟悉java中的事件處理模型,每個(gè)事件動(dòng)作代表的意義進(jìn)一步提高編程能力,學(xué)會(huì)獨(dú)立思考,學(xué)會(huì)上網(wǎng)查找資料決問題。二、實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)程序,該程序能夠繪制基本的圖形(包括圓形、矩形、直線等);要求有一個(gè)簡(jiǎn)單易操作的用戶界面(包括菜單、按鈕等組件)。編寫的程序要求能夠?qū)崿F(xiàn)保存和讀取的功能。三、實(shí)驗(yàn)代碼import;import;publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){ewInstance();}catch(Exceptione){();}demo2=newRect().getClass();demo3=;"類名稱"+());"類名稱"+());"類名稱"+());}}packagebase;importabstractclassGrapicsElem{Pointstart;Pointend;privateColorcolor;returncolor;}publicvoidsetColor(Colorcolor){=color;}publicvoidSetStart(Pointstart){=start;}publicvoidsetEnd(Pointend){=end;}publicabstractvoiddoMousePress(Pointp);publicabstractvoiddoMouseDrag(Pointp);publicabstractvoiddoMouseRelease(Pointp);publicabstractvoiddraw(Graphicsg);}packagebase;importclassLineextendsGrapicsElem{ArrayList<Point>track;publicLine(){track=newArrayList<Point>();}@Overridepublicvoiddraw(Graphicsg){for(inti=0;i<()-1;i++){Pointcur=(i);Pointnext=(i+1);,,,;}}privatevoidAddPoint(Pointp){(p);}@OverridepublicvoiddoMousePress(Pointp){//TODOAuto-generatedmethodstubAddPoint(p);}@OverridepublicvoiddoMouseDrag(Pointp){//TODOAuto-generatedmethodstubAddPoint(p);}@OverridepublicvoiddoMouseRelease(Pointp){//TODOAuto-generatedmethodstubAddPoint(p);}}packagebase;importclassRectextendsGrapicsElem{intx,y,width,height;@Overridepublicvoiddraw(Graphicsg){//TODOAuto-generatedmethodstub(getX(),getY(),getWidth(),getHeight());}@OverridepublicvoiddoMousePress(Pointp){(p);(p);}@OverridepublicvoiddoMouseDrag(Pointp){(p);}@OverridepublicvoiddoMouseRelease(Pointp){(p);}publicintgetX(){return,;}publicintgetY(){return,;}publicintgetWidth(){return}publicintgetHeight(){return}}packagebase;importclassCircleextendsRect{@Overridepublicvoiddraw(Graphicsg){//TODOAuto-generatedmethodstub(getX(),getY(),getWidth(),getHeight());}}packagewinpaint;import ;import;import;import;importclasswindowsPaintextendsJPanelimplementsMouseListener,MouseMotionListener{Stringcommand="矩形";List<GrapicsElem>Lg=newArrayList();GrapicsElemcur;JLabellabel;publicwindowsPaint(Stringtitle){init();}privatevoidinit(){addMouseListener(this);addMouseMotionListener(this);}/**可以使用反射去掉判斷語句、Class<>g=("");();@return/privateGrapicsElemnewInstance(){command= ;1n"矩形")){returnnewRect();}elseif("圓形")){returnnewCircle();}elseif("線")){returnnewLine();}returnnull;}@Overridepublicvoidpaint(Graphicsg){//TODOAuto-generatedmethodstub(g);Graphics2Dg2d=(Graphics2D)g;//());// (newBasicStroke);for(inti=0;i<();i++){

GrapicsElemge=(i);(g);}}// @Override// publicvoidrepaint(){// //TODOAuto-generatedmethod stub// //TODOAuto-generatedmethodstub// //// ();//// Threadthread=newThread(newRunnable(){//// @Override//// publicvoidrun(){//// //TODOAuto-generatedmethodstub//// try{//// SaveToFile();//// }catch(IOExceptione){//////TODOAuto-generatedcatchblock////();////}////}////});////();////////ImageIconbg=newImageIcon("");////if(bg!=null){////if(label!=null)(label);////////label=newJLabel(bg);////(0,0,(),());////(label);//// ();//// }////// }privatevoidSaveToFile()throwsIOException{//TODOAuto-generatedmethodstubBufferedImagebimg=newBufferedImage(),(),;Graphics2Dg2d=();(g2d);(bimg,"jpg",newFile(""));}@OverridepublicvoidmousePressed(MouseEvente){Pointp=newPoint(),());cur=newInstance();(p);(cur);}@OverridepublicvoidmouseDragged(MouseEvente){Pointp=newPoint(),());(p);repaint();}@OverridepublicvoidmouseReleased(MouseEvente){Pointp=newPoint(),());(p);repaint();}@OverridepublicvoidmouseMoved(MouseEvente){//TODOAuto-generatedmethodstub}@OverridepublicvoidmouseClicked(MouseEvente){//TODOAuto-generatedmethodstub}@OverridepublicvoidmouseEntered(MouseEvente){//TODOAuto-generatedmethodstub}@OverridepublicvoidmouseExited(MouseEvente){//TODOAuto-generatedmethodstub}}packagewinpaint;import classWinToolBarextendsJToolBarimplementsActionListener{publicstaticStringCommand="矩形";JButtonbtn1,btn2,btn3;//windowsPaintwinp;publicWinToolBar(windowsPaintwinP){btn1=newJButto門("矩形");btn2=newJButton("圓形”);btn3=newJButton("線”);(btn1);(btn2);(btn3);((ActionListener)this);((ActionListener)this);((ActionListener)this);//=winP;JComboBoxcom=newJComboBox();("紅色");("藍(lán)色");("黑色")(newItemListener(){@OverridepublicvoiditemStateChanged(It

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論