人機交互實驗報告_第1頁
人機交互實驗報告_第2頁
人機交互實驗報告_第3頁
人機交互實驗報告_第4頁
人機交互實驗報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、金陂科扶肉生實驗報(理工類)課程名稱:人機交互技術(shù)學生學號:所屬院部:專業(yè)班級:1205107014 學生姓名:軟件工程學院 指導教師:20J420 15學年12軟件工程(Z)陳爽陳圣國第學期金陵科技學院教務處制告書寫要求實驗報告原則上要求學生手寫,要求書寫工整。若因課程特點需 打印的,要遵照以下字體、字號、間距等的具體要求。紙張一律采用 A4的紙張。刁寫說明實驗報告百實驗報告中一至四項內(nèi)容為必填項, 包括實驗目的和要求;實驗 儀器和設備;實驗內(nèi)容與過程;實驗結(jié)果與分析。各院部可根據(jù)學科 特點和實驗具體要求增加項目。填寫注意事項(1)(2)(3)(4)(5)細致觀察,及時、準確、如實記錄。準確

2、說明,層次清晰。盡量采用專用術(shù)語來說明事物。外文、符號、公式要準確,應使用統(tǒng)一規(guī)定的名詞和符號。應獨立完成實驗報告的書寫,嚴禁抄襲、復印,一經(jīng)發(fā)現(xiàn),以零分論處。 實驗報告批改說明實驗報告的批改要及時、認真、仔細,一律用紅色筆批改。實驗 報告的批改成績采用百分制,具體評分標準由各院部自行制定。 實驗報告裝訂要求實驗批改完畢后,任課老師將每門課程的每個實驗項目的實驗報 告以自然班為單位、按學號升序排列,裝訂成冊,并附上一份該門課 程的實驗大綱。實驗項目名稱:圖形用戶界面設計實驗學時:8同組學生姓名:全班同學實驗地點:A205實驗日期:2015/03/26實驗成績:批改教師:陳圣國批改時間:、實驗目

3、的和要求1、實驗目的1)熟悉圖形用戶界面的設計原則2)利用一種設計工具完成圖形化的用戶界面設計 2、實驗要求(1)記錄系統(tǒng)分析及層次結(jié)構(gòu)設計的過程,調(diào)試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;(2)編寫程序要規(guī)范、正確,上機調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試經(jīng)驗;(3 )做完實驗后給出本實驗的實驗報告。二、實驗儀器和設備奔騰以上計算機,Windows XP、Eclipse三、實驗過程利用常用的設計工具完成一個簡單的繪圖軟件,要遵循界面設計的一般原則,注意顏色class path禾 R p ath 環(huán)境swing組件和監(jiān)聽的使用,用戶能夠利用鼠標繪制直線或圓、矩形等簡單的圖形,跟蹤用戶

4、的鼠標移動,實現(xiàn) 橡皮筋效果。主要步驟:(1)熟悉開發(fā)環(huán)境在本次實驗中,我主要用到的工具是 Eclipse,但是要用Eclispe必須要有jdk的支持,我首先下載了 1.7版本的jdk,然后進行安裝并配置了變量,最后下載到 ecli pse工具,我就可以進行開發(fā)了!(2)分析所要實現(xiàn)的功能根據(jù)老師的要求,我要實現(xiàn)的功能有二:1.根據(jù)鼠標的移動繪制直線2.根據(jù)鼠標移動繪制圓在我看來雖然是兩個功能,但是實現(xiàn)原理都差不多,主要用到了器的知識,即在鼠標按下的時候觸發(fā)監(jiān)聽器記錄下鼠標點擊位置的坐標,然后在鼠然后用背景色在原來標拖動的過程中觸發(fā)鼠標拖動監(jiān)聽器記錄鼠標拖動到的位置,的位置再繪制一遍圖形,也就

5、是覆蓋原來的圖形,接著在鼠標拖動到的位置處用區(qū)別于背景色的顏色再繪制圖形,基本上原理就是這樣!(3)編程實現(xiàn)首先我寫了一個繼承 JFrame的類Draw類,該類中初始化了窗口中的控件,還包含了一個內(nèi)部類 CDraw類,它繼承了 Canvas類,內(nèi)部類中主要設置了監(jiān)聽器用于監(jiān)聽鼠標點擊、拖動等事件,當事件被觸發(fā)事將會記錄位置或者繪制圖形,具體代碼如下:imp ort import import import import import import imp ort imp ort imp ort imp ort imp ort import importjava.awt.BorderLayout

6、; java.awt.Butt on;java.awt.Ca nvas;java.awt.Color;java.awt.Gra phics; java.awt.GridLayout;java.awt. Poi nt;java.awt.eve nt.MouseEve nt; java.awt.eve nt.MouseListe ner; java.awt.eve nt.MouseMotio nListe ner; javax.sw in g.Butt on Grou p;javax.swi ng.JFrame;javax.swi ng.J Pan el;javax.swi ng.JRadioBu

7、tt on;publicp rivateprivateclass Draw exte nds JFrame staticJRadioButtonRBDrawLine , RBDrawRound ;isLine =1; /判斷是畫直線還是畫圓1代表畫直線void initView().setBackgrou nd(Color.setTitle( .setLayout(intpublic thisthisthisJPanel pan el=RBDrawLi ne =black );"畫圖工具");new BorderLayout();new JPan el();new JRad

8、ioButton( "直線",true );RBDrawRound = new JRadioButton("圓");Butt on Grou p bg =new Butt on Grou p();bg.add( RBDrawLine ); / 加入按鈕組 bg.add( RBDrawRound );pan el.add(pan el.add( this/按鈕組thisthisRBDrawLine ); RBDrawRound);.setDefaultClose Op erati on( JFrame. .setSize(600, 400);.setVis

9、ible( true );EXIT_ON_CLOSE);NORTH;NORTH;this .add( new Button(),BorderLayout. this .add( pan el,BorderLayout. MDrawLi ne();judgeRB();this .setVisible( true );publicvoid judgeRB()if(RBDrawLine .isSelected()isLine =1; else isLine =0;publicvoid MDrawLine() this .getC ontentPan e().add(new CDraw();class

10、 CDraw exte nds Can vasimp leme ntsMouseListe ner,MouseMoti on Liste nerprivate Poi ntlong start , end, lastEnd ;static finalserialVersio nUID=1L;p ublicCDraw()this .setBackground(Color. start =en d = lastE nd =n ullmagenta );thisthis.addMouseListe ner( .addMouseMotio nListe ner(this );this );Ovemde

11、/鼠標釋放p ublicvoid mouseReleased(MouseEve nt e) 事件/ TODOAuto-ge nerated method stub end =new Poin t(e.getX(),e.getY();repain t();/鼠標按下Overridep ublicvoid mouse Pr essed(MouseEve nt e) 事件/TODOAuto-ge nerated method stubstart =new Poin t(e.getX(),e.getY();Overridep ublicvoid mouseExited(MouseEve nt e) /

12、 TODOAuto-ge nerated method stubOverridep ublicvoid mouseE ntered(MouseEve nt e) / TODOAuto-ge nerated method stubOverridep ublicvoid mouseClicked(MouseEve nt e) / TODOAuto-ge nerated method stubOverridep ublicvoid mouseMoved(MouseEve nt e) Override public/ TODOAuto-ge nerated method stub void mouse

13、Dragged(MouseEve nt e) TODOAuto-ge nerated method stub lastEnd =end ;/lastStart=start;end = new Poin t(e.getX(),e.getY(); repain t();lastEnd . y);publicvoid paint(Graphics g)judgeRBO;if ( isLine =1)if ( start != null g.setColor( g.drawL ine(&& lastEnd != null ) .getBackgrou nd。);.x, startthi

14、sstart.y,lastEnd . x,g.setColor(Color.g.drawL ine(else ifstartblue );.x, start.y,end . x, end . y);(start != null g.setColor( int&&lastE nd !=nullintint).getBackgrou nd();LDX=Math. abs (lastEnd . x- start . x);LDY=Math. abs (lastEnd . y- start . y); r1=( int ) Math. sqrt (LDX*LDX+LDY*LDY);th

15、isg.drawOval( start . x, start . y, r1+r1, r1+r1); g.setColor(Color. blue );int DX=Math. abs ( end . x- start.x);intDY=Math.abs ( end . y- start.y);intr2=( int)Math. sqrt (DX*DX+DY*DY);g.drawOval(start . x, start .y, r2+r2, r2+r2); publicpain t(g);voidup date(Gra phics g)做完了第一步,基本上就差不多了,接下來再寫個測試類進行測試一下就0K啦!具體代碼如下:p ublicclass Test p ublic staticvoidDraw dr =newdr.i ni tView();main( Stri ng args)Draw(); /新建對象/執(zhí)行初

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論