日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

课程设计-毕业设计-JAVA画板课程设计---总之岁月漫长,然而值得等待。

發(fā)布時(shí)間:2024/7/5 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 课程设计-毕业设计-JAVA画板课程设计---总之岁月漫长,然而值得等待。 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在校大學(xué)生的一份辛苦勞動(dòng)成果寫(xiě)了一個(gè)小畫(huà)板程序。

?

任務(wù)書(shū)... 1

1.1設(shè)計(jì)內(nèi)容... 1

1.2設(shè)計(jì)任務(wù)及具體要求... 1

1.3軟件開(kāi)發(fā)運(yùn)行環(huán)境.. 1

2? 本組課題... 1

2.1課題... 1

2.2本人任務(wù)... 2

3???? 程序功能簡(jiǎn)介... 2

1.畫(huà)板具體功能.. 2

2.功能分析:... 2

4???? 主體內(nèi)容... 2

4.1設(shè)計(jì)分析... 2

4.2程序架構(gòu)圖... 3

4.2.1系統(tǒng)結(jié)構(gòu)分析圖... 3

4.2.2程序結(jié)構(gòu)流程圖... 4

4.2.3結(jié)構(gòu)流程圖... 5

4.3模塊功能與說(shuō)明... 6

4.4源程序... 10

4.4.1Gui類(lèi)... 10

4.4.2DrawListener類(lèi)... 13

4.4.3接口圖形類(lèi)... 18

4.5操作方法... 24

4.6實(shí)驗(yàn)結(jié)果... 25

4.7設(shè)計(jì)體會(huì)... 26

1? 設(shè)計(jì)任務(wù)書(shū)

1.1設(shè)計(jì)內(nèi)容

學(xué)習(xí)了《Java面向?qū)ο缶幊獭返恼n程,為了更進(jìn)一步的提高我們對(duì)Java的深入學(xué)習(xí),進(jìn)行了課程設(shè)計(jì),我所選擇課程設(shè)計(jì)是利用Java的GUI實(shí)現(xiàn)畫(huà)圖應(yīng)用程度。其目的是通過(guò)本課程設(shè)計(jì)使我們能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念和開(kāi)發(fā)方法,以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識(shí),提高自身的編程能力。

運(yùn)用JAVA語(yǔ)言,實(shí)現(xiàn)界面畫(huà)板,進(jìn)行簡(jiǎn)單圖形繪制。

1.2設(shè)計(jì)任務(wù)及具體要求

主要利用java語(yǔ)言設(shè)計(jì)開(kāi)發(fā)一個(gè)小型的畫(huà)圖應(yīng)用程序,至少具有如下功能:可以進(jìn)行繪畫(huà),有顏色的選擇,可以繪制直線、曲線、橢圓、矩形,操作界面要符合用戶的一般習(xí)慣。

1.3軟件開(kāi)發(fā)運(yùn)行環(huán)境

本軟件開(kāi)發(fā)平臺(tái):JAVA

本軟件開(kāi)發(fā)環(huán)境:IntelliJ IDEA Community Edition 2018.1.4 x64

本軟件運(yùn)行平臺(tái):Windows 10

2? 本組課題

2.1課題

JAVA繪圖板課程設(shè)計(jì)。

2.2本人任務(wù)

1.編寫(xiě)畫(huà)板界面。

2.添加組件監(jiān)聽(tīng)、鼠標(biāo)監(jiān)聽(tīng)功能。

3.編寫(xiě)圖形類(lèi)的接口。

4.編寫(xiě)各種圖形類(lèi)并實(shí)現(xiàn)圖形的重繪。

3?? 程序功能簡(jiǎn)介

1.畫(huà)板具體功能

1)利用Java設(shè)計(jì)一個(gè)畫(huà)圖應(yīng)用程序;

2)可繪制直線、曲線、橢圓、矩形;

3)可改變線條顏色;

2.功能分析:

用戶可以在界面上通過(guò)點(diǎn)擊各個(gè)不同的按鈕,選擇實(shí)現(xiàn)繪制的是哪種圖形和顏色,也可以清除畫(huà)板,程序?qū)⒆詣?dòng)把所繪制的圖形類(lèi)放在一個(gè)集合中,最大化和最小化后遍歷該集合,圖形實(shí)現(xiàn)重繪。

畫(huà)板畫(huà)筆分為兩種,一種是Graphics,一種是Graphics 2D。可以用來(lái)畫(huà)基本圖形還有噴桶、橡皮擦效果。

4? 主體內(nèi)容

4.1設(shè)計(jì)分析

1.繪圖工具已經(jīng)廣為使用,利用JAVA語(yǔ)言編寫(xiě)的畫(huà)板可以滿足基本的圖形要求,為了實(shí)現(xiàn)繪制矩形、圓形、橢圓、多邊形、直線、曲線鉛筆等基本圖形,在此程序中定義上述幾種圖形類(lèi),實(shí)現(xiàn)編寫(xiě)的一個(gè)重繪接口。

2.在用戶界面GUI類(lèi)中,繼承了JFrame類(lèi),添加各種按鈕、兩個(gè)面板,分別用來(lái)畫(huà)圖和存放按鈕組件,界面采用流式布局,為組件添加編寫(xiě)好的事件監(jiān)聽(tīng)機(jī)制。

3.在事件監(jiān)聽(tīng)DrawListener類(lèi)中實(shí)現(xiàn)了MouseListener、MouseMotionListener、ActionListener監(jiān)聽(tīng)接口,并重寫(xiě)其繪圖方法。

4.在事件監(jiān)聽(tīng)類(lèi)中,定義一個(gè)字符串str用來(lái)儲(chǔ)存按鈕按下時(shí)上面的內(nèi)容,如果無(wú)文字,則判斷為顏色按鈕,把畫(huà)筆顏色color設(shè)置為按鈕顏色;有文字的話根據(jù)按鈕文字的不同,去調(diào)用不同的圖形類(lèi)方法,并在繪制圖形后保存在集合中。

5.在界面GUI類(lèi)中調(diào)用DrawListener類(lèi),新建draw引用,為每個(gè)按鈕添加該事件引用并調(diào)用ArrayList集合類(lèi),遍歷所繪制的圖形類(lèi),進(jìn)行重繪。

4.2程序架構(gòu)圖

4.2.1系統(tǒng)結(jié)構(gòu)分析圖

??????????????????????????? 畫(huà)圖區(qū)?????????????????? ?????? ??畫(huà)筆顏色

筆刷

?????????????????????????? 工具欄?????????????? 設(shè)置?????????? 橡皮檫

???????????????????????????????????????????????????????????? 清除面板

??????????????????????????????????????????????????????????????

????????????????????????? 形狀選擇

矩形????? 實(shí)矩形?? 橢圓?????? 實(shí)橢圓?????? 直線??? 曲線 ??? 多邊形

4.2.2程序結(jié)構(gòu)流程圖

??????????????????????? NetJavaShape接口

?????? 圖形類(lèi)??????????? 事件監(jiān)聽(tīng)類(lèi)???????????????? 其它類(lèi)

???????????????????????? 主界面類(lèi)

4.2.3結(jié)構(gòu)流程圖

開(kāi)始

????????????????????????????? Gui類(lèi)

?????????????????????????? 點(diǎn)擊按鈕

??????????????????????? DrawListener類(lèi) ????????????? NetJavaShape接口

????????????????????????????? 判斷

???????????????????????????? 按鈕?????????????? 顏色類(lèi)

???????????????????????? 圖形類(lèi)

?????? 畫(huà)圖??????????????????????? 結(jié)束

4.3模塊功能與說(shuō)明

1.繪圖主界面模塊

1主類(lèi)(GUI)用來(lái)生成主界面。

2完成畫(huà)圖的框架。

3主界面由畫(huà)圖區(qū)、工具欄組成,布局格式采用BorderLayout布局。

4界面截圖

2.繪圖類(lèi)模塊

1在程序中用到了JAVA的封裝、多態(tài)、繼承特性,定義了NetJavaShape接口,里面寫(xiě)了redraw()抽象方法。

2分別構(gòu)造不同的圖形類(lèi):直線類(lèi)(reline)、實(shí)矩形類(lèi)(refilljuxing)、曲線類(lèi)(requxian)、射線類(lèi)(reshexian)、矩形類(lèi)(rejuxing)、折線類(lèi)(rezhexian)、橢圓類(lèi)(retuoyuan)、實(shí)橢圓類(lèi)(refilltuoyuan)。

3每個(gè)圖形類(lèi)都實(shí)現(xiàn)NetJavaShape接口中的redraw()方法,每個(gè)方法中根據(jù)形狀選擇不同的繪制方法函數(shù)。

4每個(gè)類(lèi)可以在事件監(jiān)聽(tīng)類(lèi)中新建不同的對(duì)象引用,根據(jù)按鈕選擇不同可以調(diào)用不同的圖形類(lèi)畫(huà)法。

5部分代碼

import java.awt.*;??????????????? //定義一個(gè)接口,里面用抽象方法讓圖形類(lèi)實(shí)現(xiàn)該接口

public interface NetJavaShape{

??? public abstract void redraw();

}

  • 鼠標(biāo)及組件的事件監(jiān)聽(tīng)模塊
  • 1 DrawListener實(shí)現(xiàn)ActionListener、MouseListenerMouseMotionListener接口。

    ? 2定義List<NetJavaShape> getShapeArr()、setG(Graphics g)、setNowColor(JButton nowColor)方法用來(lái)獲取圖形類(lèi)集合、畫(huà)筆、當(dāng)前按鈕顏色。

    ??3在actionPerformed(ActionEvent e)方法中用來(lái)判斷按鈕按下時(shí)要執(zhí)行哪種命令。mouseDragged(MouseEvent e)方法中用來(lái)執(zhí)行射線、曲線、橡皮檫、筆刷操作。mousePressed(MouseEvent e)、mouseReleased(MouseEvent e)方法中記錄當(dāng)前鼠標(biāo)點(diǎn)擊和釋放的位置坐標(biāo)。mouseReleased(MouseEvent e)中執(zhí)行矩形、橢圓、實(shí)橢圓、折線、直線、實(shí)矩形、噴桶、多邊形、擦除面板操作。

    ??4 mouseClicked(MouseEvent e)方法中執(zhí)行多邊形連接操作。

    ??

    ??????? }

    ??????? else if ("擦除面板".equals(str)){

    ??????????? reclear=new clear(g);

    ????????? reclear.redraw();

    ????????? shapeArr.add(reclear);

    ??????? }

    ??? }

    ??? @Override

    ??? public void mouseClicked(MouseEvent e) {

    ??????? if(str.equals("多邊形")&&flag){??????????????????????????? //鼠標(biāo)點(diǎn)擊時(shí)繪制連接多邊形

    ??????????? g.setColor(color);

    ???????????????????????? x2=e.getX();????????????????????????????? //獲取新的點(diǎn)的坐標(biāo)

    ???????????????????????? y2=e.getY();

    ??????????????????????? if(e.getClickCount()==2){????????????????? //記錄點(diǎn)擊次數(shù),點(diǎn)擊第二次后開(kāi)始直線連接

    ??????????????????????????? g.drawLine(startx1,starty1,startx2,starty2);

    ????????????????????????????? flag=false;

    ??????????????????????????? }

    ???????????????????????? g.drawLine(startx2,starty2,x2, y2);

    ???????????????????????? startx2=x2;?? //存下上個(gè)點(diǎn)的坐標(biāo)

    ???????????????????????? starty2=y2;

    ??????????? ????????????}

    ??? }

    ??? @Override

    ??? public void mouseMoved(MouseEvent e) {

    ??? }

    }

    ??????????????? }

    ??????????? }

    ????????????

    4.5操作方法

    本軟件由IntelliJ IDEA Community Edition 2018.1.4 x64開(kāi)發(fā),運(yùn)行后直接進(jìn)入界面。

    1用戶打開(kāi)軟件,點(diǎn)擊工具欄界面上不同的按鈕,可以畫(huà)出不同的圖形。 ???2系統(tǒng)默認(rèn)畫(huà)筆顏色是黑色,用戶也可以點(diǎn)擊顏色按鈕進(jìn)行不同顏色的圖形繪制。 ????????????????????????????????????????????????????????????????????????????3當(dāng)最大化和最小化時(shí),繪制的圖形不會(huì)改變,將自動(dòng)進(jìn)行圖形重繪,也能夠用筆刷和橡皮檫工具,實(shí)現(xiàn)圖形美化。

    4.6實(shí)驗(yàn)結(jié)果

    基本實(shí)現(xiàn)圖形繪制、顏色選擇、橡皮檫、筆刷、噴桶功能,具體運(yùn)行結(jié)果如下。

    4.7設(shè)計(jì)體會(huì)

    當(dāng)把程序?qū)懞貌⑦M(jìn)行調(diào)試時(shí),并不是一帆風(fēng)順的,在程序編譯過(guò)程中遇到了許許多多的大大小小的錯(cuò)誤,經(jīng)過(guò)一次又一次的改正錯(cuò)誤最終完成了程序設(shè)計(jì)

    1畫(huà)圖應(yīng)用程序的Java源代碼全部正確能夠通過(guò)編譯并正常運(yùn)行。

    2畫(huà)圖程序要求功能:畫(huà)直線、曲線、矩形、橢圓、選擇顏色等功能完全實(shí)現(xiàn)。

    ?3通過(guò)Java編程完全實(shí)現(xiàn)了課程設(shè)計(jì)任務(wù)書(shū)的全部功能。學(xué)好一門(mén)語(yǔ)言,需要不斷反復(fù)的練習(xí),面向?qū)ο蟮脑O(shè)計(jì)模式,充分運(yùn)用類(lèi)與對(duì)象的關(guān)系,JAVA沒(méi)有多繼承,所以在畫(huà)板軟件中定義了一個(gè)接口,讓不同的繪圖類(lèi)實(shí)現(xiàn)該接口,重寫(xiě)不同的方法。圖形類(lèi)中定義了面板、按鈕組件,在事件監(jiān)聽(tīng)類(lèi)中,根據(jù)不同按鈕,調(diào)用生成不同圖形對(duì)象。在這里,為了實(shí)現(xiàn)重新繪制,需要圖形對(duì)象放在集合中,然后在主類(lèi)中遍歷。
    通過(guò)這次課程設(shè)計(jì),提高了我對(duì)封裝、繼承、多態(tài)、接口、集合的認(rèn)識(shí),對(duì)事件處理也了解,知識(shí)體系進(jìn)一步擴(kuò)展,掌握的更加牢固緊密。

    源碼:310508863

    總結(jié)

    以上是生活随笔為你收集整理的课程设计-毕业设计-JAVA画板课程设计---总之岁月漫长,然而值得等待。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 精品国产综合区久久久久久 | 久久久久久a | 亚洲精品日韩综合观看成人91 | 特黄三级又爽又粗又大 | 男人天堂国产 | 日韩女同互慰一区二区 | 爱如潮水3免费观看日本高清 | 亚洲天堂色图 | 亚洲一级在线 | a级黄色片 | 五月色婷 | 老司机成人网 | 青青草成人免费在线视频 | 欧亚毛片 | 欧美性猛交xxxx偷拍洗澡 | 91色交视频 | 18久久 | 蜜臀久久精品久久久久 | 国产成人综合自拍 | 亚洲成年人影院 | 欧美精品一二三四区 | 97伦伦午夜电影理伦片 | 成全世界免费高清观看 | 亚洲精品二区三区 | 欧美日韩国产不卡 | 午夜国产福利在线观看 | 97超碰碰 | 欧美片网站yy | 国产区一二三 | 污视频免费看 | 国产精品免费在线播放 | 2018av在线| 国产伦精品一区二区免费 | 日本在线激情 | 四虎永久地址 | 国产精品99久久久久久久 | 亚州一区二区 | 极品少妇xxxx精品少妇偷拍 | 午夜在线网站 | 欧美综合第一页 | 亚洲电影一区二区三区 | 乱中年女人伦 | 爱情岛论语亚洲入口 | 中国美女洗澡免费看网站 | 免费成人深夜夜国外 | 丰满少妇被猛烈进入一区二区 | 视频在线观看电影完整版高清免费 | 99热在| 国产精品乱 | 成人免费视频网站 | 精品一区二区免费看 | 狠狠躁夜夜躁人人爽天天高潮 | 日本欧美在线视频 | 国产精品高潮呻吟AV无码 | 欧美综合在线视频 | 国产精品高清在线观看 | 成人你懂的 | av中文天堂 | 中文字幕在线不卡 | 日本人妻熟妇久久久久久 | 国产美女精品视频 | 亚洲成人资源 | 啪啪网视频 | 尤物视频在线观看免费 | 欧美久久久久久 | 综合国产精品 | 岛国精品一区二区三区 | 色哟哟一区二区 | 国产天堂av | 中国美女一级黄色片 | 91sex国产 | 久久国产精彩视频 | 乱中年女人伦 | 韩国一级淫片 | 黄色大片黄色大片 | 欧美成人国产va精品日本一级 | 成人av电影在线观看 | 青娱乐毛片 | 中文字幕在线播出 | 久操视频免费看 | 九九热在线视频免费观看 | 国产精品久久久爽爽爽麻豆色哟哟 | 中文字幕欧美在线观看 | 97色爱| 在线日韩视频 | 欧美生活一级片 | 日韩aⅴ片 | 黄色一级片免费观看 | 亚洲一级Av无码毛片久久精品 | 97视频在线 | 男男play呻吟动漫网站 | 亚洲中文字幕在线观看 | 玖玖国产精品视频 | 67194av| 亚洲精品综合在线观看 | 日日摸日日添日日碰9学生露脸 | 成人国产av一区二区三区 | 懂色av成人一区二区三区 | 亚洲九九色 |