2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  Java課程設(shè)計(jì)</b></p><p><b>  課程名稱:畫筆系統(tǒng)</b></p><p><b>  目錄</b></p><p>  一.設(shè)計(jì)題目----------------------------------------------------------

2、----------2</p><p>  1.1設(shè)計(jì)題目與要求---------------------------------------------------------------------------2</p><p>  1.2設(shè)計(jì)要求----------------------------------------------------------------------

3、--------------2</p><p>  二.需求分析--------------------------------------------------------------------2</p><p>  三.概要設(shè)計(jì)--------------------------------------------------------------------3</p>

4、;<p>  3.1設(shè)計(jì)準(zhǔn)備------------------------------------------------------------------------------------3</p><p>  3.2需用的類------------------------------------------------------------------------------------

5、3</p><p>  四.詳細(xì)設(shè)計(jì)--------------------------------------------------------------------3</p><p>  4.1類的設(shè)計(jì)------------------------------------------------------------------------------------3</p

6、><p>  4.2類的方法介紹------------------------------------------------------------------------------4</p><p>  4.3測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果---------------------------------------------------------------------5</p>

7、<p>  五.源程序-----------------------------------------------------------------------6</p><p>  六.課程設(shè)計(jì)總結(jié)-------------------------------------------------------------15</p><p>  七.參考文獻(xiàn)-------

8、------------------------------------------------------------15</p><p><b>  設(shè)計(jì)題目</b></p><p>  1.1 設(shè)計(jì)題目與要求</p><p>  本次課程設(shè)計(jì)主要是用JAVA實(shí)現(xiàn)畫筆系統(tǒng),其系統(tǒng)主要完成以下功能:設(shè)計(jì)一個(gè)畫圖程序,能夠?qū)崿F(xiàn)畫筆、畫直線、畫圓

9、形、畫矩形的功能,并且在繪圖。過程中能夠修改該畫筆的大小以及顏色。該畫圖程序還需具有橡皮擦功能以及清空整個(gè)畫面的功能</p><p><b>  1.2 設(shè)計(jì)目的</b></p><p>  本次課程設(shè)計(jì)是配合JAVA程序設(shè)計(jì)課程,幫助我們深入學(xué)習(xí)掌握J(rèn)AVA語(yǔ)言,熟練運(yùn)用這個(gè)工具來(lái)編寫的。通過課程設(shè)計(jì)各個(gè)項(xiàng)目的綜合訓(xùn)練,培養(yǎng)學(xué)生實(shí)際分析問題、編程和動(dòng)手能力、提高學(xué)生

10、的綜合素質(zhì)。本課程設(shè)計(jì)嘗試使用一些較生動(dòng)的示例和設(shè)計(jì)項(xiàng)目,激發(fā)學(xué)生學(xué)習(xí)興趣,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí),正確理解、接受需要重點(diǎn)掌握的知識(shí)點(diǎn),為參加項(xiàng)目開發(fā)及更深入學(xué)習(xí)做好準(zhǔn)備。</p><p><b>  二、需求分析</b></p><p>  設(shè)計(jì)一個(gè)畫圖程序,能夠?qū)崿F(xiàn)畫筆、畫直線、畫圓形、畫矩形的功能,并且在繪圖。過程中能夠修改該畫筆的大小以及顏色。該畫圖程序還需具有橡皮

11、擦功能以及清空整個(gè)畫面的功能</p><p>  1、這個(gè)畫圖程序,最基本的功能是,作為一個(gè)畫筆,能利用它實(shí)現(xiàn)在屏幕上任意繪畫、書寫的功能;</p><p>  2、利用這個(gè)畫圖程序,通過選擇畫直線、畫圓形、畫矩形等功能選項(xiàng)并且在屏幕上拖動(dòng)鼠標(biāo)操作能實(shí)現(xiàn)畫出相應(yīng)圖形的功能;</p><p>  3、這個(gè)畫圖程序,還需具備橡皮擦的功能,利用這個(gè)橡皮擦能夠擦除屏幕上的圖

12、案,并且此橡皮擦也應(yīng)該能夠改變大?。?lt;/p><p>  4、這個(gè)畫圖程序,還應(yīng)該做到能夠改變畫筆顏色的功能;</p><p>  5、這個(gè)畫圖程序,還應(yīng)該具備能夠清除整個(gè)屏幕已繪制圖畫的功能。</p><p><b>  三、概要設(shè)計(jì)</b></p><p><b>  3.1設(shè)計(jì)準(zhǔn)備</b>&l

13、t;/p><p>  1、此程序?yàn)閷?shí)現(xiàn)這些功能模塊,必須首先定義一個(gè)工具面板,將這些畫筆、畫直線、畫圓形、畫矩形、畫筆顏色、畫筆大小、橡皮等功能組件放入這個(gè)工具面板中。</p><p>  2、此程序?yàn)閷?shí)現(xiàn)利用鼠標(biāo)做畫筆的功能,必會(huì)產(chǎn)生鼠標(biāo)事件MouseEvent。因此,為實(shí)現(xiàn)鼠標(biāo)畫圖的功能,必須用到鼠標(biāo)觸發(fā)事件,故在此程序中,必須實(shí)現(xiàn)“委托事件模型”,用到事件源、事件對(duì)象以及監(jiān)聽者對(duì)象。&l

14、t;/p><p>  3、此程序中,必須用到的包如下:</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.util.*;</p><p>  import javax.swing.*;</p>

15、;<p>  import java.awt.geom.*;</p><p><b>  3.2需用到的類</b></p><p>  1 )class Point</p><p>  此類用于定義一組數(shù)據(jù)成員,并且使用構(gòu)造函數(shù)將他們分別初使化,以方便在下面的程序中使用他們。</p><p>  2)cla

16、ss paintboard </p><p>  此類用于實(shí)現(xiàn)這個(gè)程序的大部分功能,在這個(gè)類中除了定義一些基本變量以及構(gòu)造函數(shù)外,還定義了很多成員方法,這些成員方法將實(shí)現(xiàn)鼠標(biāo)觸發(fā)事件的一系列繪圖功能。</p><p>  3 )public class PaintBrush</p><p>  這個(gè)類是主類,是程序得以運(yùn)行的入口。在這個(gè)主類中定義了主方法,是該程序執(zhí)

17、行的入口。</p><p><b>  四.詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1類的設(shè)計(jì)</b></p><p>  1) class Point</p><p>  在這個(gè)類中定義了用于截?cái)嗟囊幌盗袠?biāo)志變量,有初始坐標(biāo)、顏色、工具選擇等,并且在這個(gè)類中還定義了構(gòu)造函數(shù)Point(i

18、nt x, int y, Color col, int tool, int boarder),用于完成對(duì)這些變量的初始化工作。</p><p>  2)class paintboard </p><p>  這個(gè)類用來(lái)實(shí)現(xiàn)整個(gè)程序的大部分功能,并且在這個(gè)類中定義了大部分的成員函數(shù)和成員方法,在這個(gè)類中用到的主要成員方法如下:</p><p>  Public voi

19、d paint(Graphics g)</p><p>  public void itemStateChanged(ItemEvent e)</p><p>  public void mouseDragged(MouseEvent e)</p><p>  public void mousePressed(MouseEvent e)</p><

20、;p>  public void mouseReleased(MouseEvent e)</p><p>  public void mouseEntered(MouseEvent e){}</p><p>  public void mouseExited(MouseEvent e){}</p><p>  public void mouseClicked(

21、MouseEvent e){}</p><p>  public void mouseMoved(MouseEvent e){} </p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  4.2類的方法介紹</b></p><p><b

22、>  定義的變量:</b></p><p>  在這個(gè)類中,首先定義了畫筆的大小、畫筆的顏色、畫筆的粗細(xì)、橡皮的大小、工具的選擇等一些變量,并且還用到了系統(tǒng)中自帶的一些類初使化了一些面板工具對(duì)象,用于完成對(duì)面板工具、畫直線、畫橢圓、畫矩形、橡皮擦、清除等一些工具按鈕的定義。</p><p><b>  初使化構(gòu)造函數(shù):</b></p>

23、<p>  在這個(gè)初使化構(gòu)造函數(shù)中,首先繼承了父類Frame,然后初使化了各工具按鈕以及各個(gè)選擇項(xiàng),包括顏色選擇、畫筆大小選擇、橡皮大小選擇,并且將這些組件添加到了工具面板中,最后還對(duì)各個(gè)組件注冊(cè)了事件監(jiān)聽者對(duì)象。</p><p>  paint()方法:</p><p>  這個(gè)方法主要用于在Applet的界面中顯示文字、圖形和其它界面元素。本程序中,在這個(gè)方法中,定義了一些工

24、具選項(xiàng)設(shè)置,給用戶選擇畫筆、畫直線、畫圓、橡皮擦等一些功能。</p><p>  itemStateChanged()方法:</p><p>  這個(gè)方法用來(lái)實(shí)現(xiàn)的功能很簡(jiǎn)單,主要是用來(lái)改變畫筆大小、畫筆顏色、橡皮大小的。在此方法中,設(shè)置了大小以及顏色的一些預(yù)選項(xiàng),以供用戶對(duì)大小以及顏色做出選擇。</p><p>  mouseDragged()方法:</p&

25、gt;<p>  此方法是處理MouseEvent事件以實(shí)現(xiàn)MouseMotionListener接口的對(duì)象。MouseMotionListener是事件監(jiān)聽者,mouseDragged(MouseEvent e)是成員方法,代表鼠標(biāo)拖動(dòng)事件,在這個(gè)方法中,還用到了MouseEvent類常用成員方法:public int getX()以及public int getY(),用來(lái)返回發(fā)生鼠標(biāo)事件的X及Y的坐標(biāo)。這個(gè)方法中,主

26、要用來(lái)控件畫筆和橡皮的轉(zhuǎn)換。</p><p>  mousePressed()方法:</p><p>  此方法是處理MouseEvent事件以實(shí)現(xiàn)MouseListener接口的對(duì)象。MouseListener是事件監(jiān)聽者,mouseDPressed(MouseEvent e)是成員方法,代表鼠標(biāo)按下事件。這個(gè)方法主要用來(lái)控件用戶畫直線、畫圓、畫矩形這些功能之間的轉(zhuǎn)換。</p>

27、;<p> ?、?mouseReleased()方法:</p><p>  mouseEntered()方法:</p><p>  mouseExited()方法:</p><p>  mouseClicked()方法:</p><p>  這些方法和mousePressed()方法屬于同一類,他主要用來(lái)表示鼠標(biāo)釋放事件,是對(duì)上

28、述各個(gè)功能完成后對(duì)鼠標(biāo)事件的又一次觸發(fā)。</p><p>  4.3.測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果</p><p>  1、畫筆在屏幕上繪畫</p><p><b>  2、改變畫筆的粗細(xì)</b></p><p>  3、畫直線、畫圓、畫矩形</p><p><b>  五.源程序</b&g

29、t;</p><p>  /*PaintBrush.java,可調(diào)畫筆粗細(xì)-Java畫圖實(shí)驗(yàn)-swingcode -gcode</p><p>  *畫直線,曲線,矩形,橢圓,可調(diào)顏色,有橡皮擦功能</p><p><b>  *可調(diào)畫筆粗細(xì)</b></p><p><b>  *hxz*/</b>

30、</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.util.*;</p><p>  import javax.swing.*;</p><p>  import java.awt.geom.*;

31、</p><p>  class Point</p><p><b>  {</b></p><p><b>  int x,y;</b></p><p>  Color col;</p><p><b>  int tool;</b></p>

32、;<p>  int boarder;</p><p>  Point(int x, int y, Color col, int tool, int boarder)</p><p><b>  {</b></p><p>  this.x = x;</p><p>  this.y = y;</p&

33、gt;<p>  this.col = col;</p><p>  this.tool = tool;</p><p>  this.boarder = boarder;</p><p><b>  }</b></p><p><b>  }</b></p><p

34、><b>  /*</b></p><p>  *BasicStroke</p><p><b>  *Choice</b></p><p>  *validate();</p><p><b>  **/</b></p><p>  class

35、paintboard extends Frame implements ActionListener, MouseMotionListener, MouseListener, ItemListener</p><p><b>  {</b></p><p>  int xx0=0,yy0=0;</p><p>  int xx1=0,yy1=0

36、;</p><p>  int type=6;</p><p>  int x = -1, y = -1;</p><p>  int con = 1; //畫筆大小</p><p>  int Econ = 5; //橡皮大小</p><p>  int toolFlag = 0; /

37、/toolFlag:工具標(biāo)記</p><p>  //toolFlag工具對(duì)應(yīng)表:</p><p>  //(0--畫筆);(1--橡皮);(2--清除);</p><p>  //(3--直線);(4--圓);(5--矩形);</p><p>  Color c = new Color(0,0,0); //畫筆顏色</p>&

38、lt;p>  BasicStroke size = new BasicStroke (con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);//畫筆粗細(xì)</p><p>  Point cutflag = new Point(-1, -1, c, 6, con);//截?cái)鄻?biāo)志</p><p>  Vector paintInfo = nul

39、l;//點(diǎn)信息向量組</p><p>  int n = 1;</p><p>  // *工具面板--畫筆,直線,圓,矩形,多邊形,橡皮,清除*/</p><p>  Panel toolPanel;</p><p>  Button eraser, drLine,drCircle,drRect;</p><p> 

40、 Button clear ,pen;</p><p>  Choice ColChoice,SizeChoice,EraserChoice;</p><p>  Button colchooser;</p><p>  Label 顏色,大小B,大小E;</p><p>  paintboard(String s)//構(gòu)造函數(shù)</p&

41、gt;<p><b>  {</b></p><p><b>  super(s);</b></p><p>  addMouseMotionListener(this);</p><p>  addMouseListener(this);</p><p>  paintInfo =

42、new Vector();</p><p>  /*各工具按鈕及選擇項(xiàng)*/</p><p><b>  //顏色選擇</b></p><p>  ColChoice = new Choice();</p><p>  ColChoice.add("黑色");</p><p> 

43、 ColChoice.add("紅色");</p><p>  ColChoice.add("藍(lán)色");</p><p>  ColChoice.add("綠色");</p><p>  ColChoice.addItemListener(this);</p><p><b&g

44、t;  //畫筆大小選擇</b></p><p>  SizeChoice = new Choice();</p><p>  SizeChoice.add("1");</p><p>  SizeChoice.add("3");</p><p>  SizeChoice.add("

45、;5");</p><p>  SizeChoice.add("7");</p><p>  SizeChoice.add("9");</p><p>  SizeChoice.addItemListener(this);</p><p><b>  //橡皮大小選擇</b&g

46、t;</p><p>  EraserChoice = new Choice();</p><p>  EraserChoice.add("2");</p><p>  EraserChoice.add("3");</p><p>  EraserChoice.add("4");&l

47、t;/p><p>  EraserChoice.add("5");</p><p>  EraserChoice.addItemListener(this);</p><p>  toolPanel = new Panel();</p><p>  clear = new Button("清除");<

48、/p><p>  eraser = new Button("橡皮");</p><p>  pen = new Button("畫筆");</p><p>  drLine = new Button("畫直線");</p><p>  drCircle = new Button(&quo

49、t;畫圓形");</p><p>  drRect = new Button("畫矩形");</p><p>  colchooser = new Button("顯示調(diào)色板");</p><p><b>  //各組件事件監(jiān)聽</b></p><p>  clear.a

50、ddActionListener(this);</p><p>  eraser.addActionListener(this);</p><p>  pen.addActionListener(this);</p><p>  drLine.addActionListener(this);</p><p>  drCircle.addAct

51、ionListener(this);</p><p>  drRect.addActionListener(this);</p><p>  colchooser.addActionListener(this); </p><p>  顏色 = new Label("畫筆顏色",Label.CENTER);</p><

52、;p>  大小B = new Label("畫筆大小",Label.CENTER);</p><p>  大小E = new Label("橡皮大小",Label.CENTER);</p><p><b>  //面板添加組件</b></p><p>  toolPanel.add(pen);<

53、;/p><p>  toolPanel.add(drLine);</p><p>  toolPanel.add(drCircle);</p><p>  toolPanel.add(drRect);</p><p>  toolPanel.add(顏色); toolPanel.add(ColChoice);</p><p&g

54、t;  toolPanel.add(大小B); toolPanel.add(SizeChoice);</p><p>  toolPanel.add(colchooser);</p><p>  toolPanel.add(eraser);</p><p>  toolPanel.add(大小E); toolPanel.add(EraserChoice);</

55、p><p>  toolPanel.add(clear);</p><p>  //工具面板到APPLET面板</p><p>  add(toolPanel,BorderLayout.NORTH);</p><p>  setBounds(60,60,800,650);</p><p>  setVisible(true

56、);</p><p>  validate();</p><p>  //dialog for save and load</p><p>  addWindowListener(new WindowAdapter()</p><p><b>  {</b></p><p>  public vo

57、id windowClosing(WindowEvent e)</p><p>  { System.exit(0);}</p><p><b>  });</b></p><p><b>  }</b></p><p>  public void paint(Graphics g)</p&g

58、t;<p><b>  {</b></p><p>  Graphics2D g2d = (Graphics2D)g;</p><p>  Point p1,p2;</p><p>  n = paintInfo.size();</p><p>  if(toolFlag==2)</p>&l

59、t;p>  g.clearRect(0,0,getSize().width,getSize().height);//清除</p><p>  switch(type)</p><p><b>  {</b></p><p><b>  case 3:</b></p><p>  Line2D

60、line = new Line2D.Double(xx0,yy0,xx1,yy1);</p><p>  g2d.draw(line);</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  Ellipse2D ellipse1 =

61、 new Ellipse2D.Double(xx0, yy0, Math.abs(xx1-xx0) ,Math.abs(yy1-yy0));</p><p>  g2d.draw(ellipse1);</p><p><b>  break;</b></p><p><b>  case 5:</b></p>

62、<p>  Rectangle2D rect1 = new Rectangle2D.Double(xx0, yy0, Math.abs(xx1-xx0) , Math.abs(yy1-yy0));</p><p>  g2d.draw(rect1);</p><p><b>  break;</b></p><p>  defau

63、lt:break;</p><p><b>  }</b></p><p>  for(int i=0; i<n-1; i++)</p><p><b>  {</b></p><p>  p1 = (Point)paintInfo.elementAt(i);</p><p

64、>  p2 = (Point)paintInfo.elementAt(i+1);</p><p>  size = new BasicStroke(p1.boarder,BasicStroke.CAP_BUTT,</p><p>  BasicStroke.JOIN_BEVEL); g2d.setColor(p1.col);</p>&

65、lt;p>  g2d.setStroke(size);</p><p>  if(p1.tool==p2.tool)</p><p>  { </p><p>  switch(p1.tool)</p><p><b>  {</b></p><p>  cas

66、e 0://畫筆</p><p>  Line2D line1 = new Line2D.Double(p1.x, p1.y, p2.x,p2.y);</p><p>  g2d.draw(line1);</p><p><b>  break;</b></p><p>  case 1://橡皮</p>

67、<p>  g.clearRect(p1.x, p1.y, p1.boarder, p1.boarder);</p><p><b>  break;</b></p><p>  case 3://畫直線</p><p>  Line2D line2 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y

68、);</p><p>  g2d.draw(line2);</p><p><b>  break;</b></p><p>  case 4://畫圓</p><p>  Ellipse2D ellipse = new Ellipse2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) ,

69、Math.abs(p2.y-p1.y));</p><p>  g2d.draw(ellipse);</p><p><b>  break;</b></p><p>  case 5://畫矩形</p><p>  Rectangle2D rect = new Rectangle2D.Double(p1.x, p1.y

70、, Math.abs(p2.x-p1.x) ,Math.abs(p2.y-p1.y));</p><p>  g2d.draw(rect);</p><p><b>  break;</b></p><p>  case 6://截?cái)?,跳過</p><p><b>  i=i+1;</b></

71、p><p><b>  break;</b></p><p>  default :break;</p><p>  }//end switch</p><p><b>  }//end if</b></p><p>  }//end for</p><p&g

72、t;<b>  } </b></p><p>  public void itemStateChanged(ItemEvent e)</p><p><b>  {</b></p><p>  if(e.getSource()==ColChoice)//預(yù)選顏色</p><p><b>

73、  {</b></p><p>  String name = ColChoice.getSelectedItem();</p><p>  if(name=="黑色")</p><p>  { c = new Color(0,0,0); }</p><p>  else if(name=="紅色&q

74、uot;)</p><p>  { c = new Color(255,0,0); }</p><p>  else if(name=="綠色")</p><p>  { c = new Color(0,255,0); }</p><p>  else if(name=="藍(lán)色")</p>

75、<p>  { c = new Color(0,0,255); }</p><p><b>  }</b></p><p>  else if(e.getSource()==SizeChoice)//畫筆大小</p><p><b>  {</b></p><p>  String se

76、lected = SizeChoice.getSelectedItem();</p><p>  if(selected=="1")</p><p><b>  {</b></p><p><b>  con = 1;</b></p><p>  size = new Basic

77、Stroke(con,BasicStroke.CAP_BUTT,</p><p>  BasicStroke.JOIN_BEVEL);</p><p><b>  }</b></p><p>  else if(selected=="3")</p><p><b>  {</b>

78、</p><p><b>  con = 3;</b></p><p>  size = new BasicStroke(con,BasicStroke.CAP_BUTT,</p><p>  BasicStroke.JOIN_BEVEL);</p><p><b>  }</b></p>

79、;<p>  else if(selected=="5")</p><p><b>  { </b></p><p><b>  con = 5;</b></p><p>  size = new BasicStroke(con,BasicStroke.CAP_BUTT,</p>

80、;<p>  BasicStroke.JOIN_BEVEL);</p><p><b>  }</b></p><p>  else if(selected=="7")</p><p><b>  { </b></p><p><b>  con = 7;

81、</b></p><p>  size = new BasicStroke(con,BasicStroke.CAP_BUTT,</p><p>  BasicStroke.JOIN_BEVEL);</p><p><b>  }</b></p><p>  else if(selected=="9&

82、quot;)</p><p><b>  { </b></p><p><b>  con = 9;</b></p><p>  size = new BasicStroke(con,BasicStroke.CAP_BUTT,</p><p>  BasicStroke.JOIN_BEVEL);&l

83、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(e.getSource()==EraserChoice)//橡皮大小</p><p><b>  {</b></p><p>  Strin

84、g Esize = EraserChoice.getSelectedItem();</p><p>  if(Esize=="2")</p><p>  { Econ = 3*3; }</p><p>  else if(Esize=="3")</p><p>  { Econ = 4*4; }<

85、/p><p>  else if(Esize=="4")</p><p>  { Econ = 5*5; }</p><p>  else if(Esize=="5")</p><p>  { Econ = 6*6; }</p><p><b>  }</b>&

86、lt;/p><p><b>  }</b></p><p>  public void mouseDragged(MouseEvent e)</p><p><b>  {</b></p><p>  xx1 = (int)e.getX();</p><p>  yy1 = (i

87、nt)e.getY();</p><p>  Point p1 ;</p><p>  switch(toolFlag){</p><p>  case 0://畫筆</p><p>  x = (int)e.getX();</p><p>  y = (int)e.getY();</p><p&g

88、t;  p1 = new Point(x, y, c, toolFlag, con);</p><p>  paintInfo.addElement(p1);</p><p>  repaint();</p><p><b>  break;</b></p><p>  case 1://橡皮</p>&l

89、t;p>  x = (int)e.getX();</p><p>  y = (int)e.getY();</p><p>  p1 = new Point(x, y, null, toolFlag, Econ);</p><p>  paintInfo.addElement(p1);</p><p>  repaint();</

90、p><p>  break; </p><p><b>  case 3:</b></p><p>  case 4: </p><p><b>  case 5:</b></p><p>  repaint();</p><

91、;p><b>  break;</b></p><p><b>  default :</b></p><p><b>  }</b></p><p>  //repaint();</p><p><b>  } </b></p>

92、<p>  public void mousePressed(MouseEvent e)</p><p><b>  {</b></p><p>  xx0= (int)e.getX();</p><p>  yy0= (int)e.getY();</p><p><b>  Point p2;<

93、;/b></p><p>  switch(toolFlag)</p><p><b>  {</b></p><p>  case 3://直線</p><p><b>  type=3;</b></p><p>  x = (int)e.getX();</p&

94、gt;<p>  y = (int)e.getY();</p><p>  p2 = new Point(x, y, c, toolFlag, con);</p><p>  paintInfo.addElement(p2);</p><p><b>  break;</b></p><p>  case

95、4: //圓</p><p><b>  type=4;</b></p><p>  x = (int)e.getX();</p><p>  y = (int)e.getY();</p><p>  p2 = new Point(x, y, c, toolFlag, con);</p><p>

96、  paintInfo.addElement(p2);</p><p><b>  break;</b></p><p>  case 5: //矩形</p><p><b>  type=5;</b></p><p>  x = (int)e.getX();</p><p>

97、;  y = (int)e.getY();</p><p>  p2 = new Point(x, y, c, toolFlag, con);</p><p>  paintInfo.addElement(p2);</p><p><b>  break;</b></p><p>  default :type=6;&l

98、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  public void mouseEntered(MouseEvent e){}</p><p>  public void mouseExited(MouseEvent e){}</p>

99、<p>  public void mouseClicked(MouseEvent e){}</p><p>  public void mouseMoved(MouseEvent e){} </p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {<

100、/b></p><p>  if(e.getSource()==pen)//畫筆</p><p>  { toolFlag = 0; }</p><p>  if(e.getSource()==eraser)//橡皮</p><p>  { toolFlag = 1; }</p><p>  if(e.getSo

101、urce()==clear)//清除</p><p><b>  {</b></p><p>  toolFlag = 2;</p><p>  paintInfo.removeAllElements();</p><p>  repaint();</p><p><b>  }<

102、/b></p><p>  if(e.getSource()==drLine)//畫線</p><p>  { toolFlag = 3; }</p><p>  if(e.getSource()==drCircle)//畫圓</p><p>  { toolFlag = 4; }</p><p>  if(e.

103、getSource()==drRect)//畫矩形</p><p>  { toolFlag = 5; }</p><p>  if(e.getSource()==colchooser)//調(diào)色板</p><p><b>  {</b></p><p>  Color newColor = JColorChooser.s

104、howDialog(this,</p><p><b>  "調(diào)色板",c);</b></p><p>  c = newColor;}</p><p><b>  }</b></p><p><b>  @Override</b></p>&

105、lt;p>  public void mouseReleased(MouseEvent arg0) {</p><p>  // TODO Auto-generated method stub</p><p><b>  }</b></p><p><b>  }//end</b></p><p&

106、gt;  public class PaintBrush</p><p><b>  {</b></p><p>  public static void main (String args[])</p><p><b>  {</b></p><p>  new paintboard("

107、畫圖程序");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  六.課程設(shè)計(jì)總結(jié)</b></p><p>  此軟件基本達(dá)到理想效果,在編寫這一軟件的過程中我學(xué)到了很多java編程知識(shí),并學(xué)會(huì)了如何快速的改正

108、程序中的錯(cuò)誤。</p><p>  經(jīng)過一周的課程設(shè)計(jì),java編程方面的知識(shí)收獲很大,但這只是java編程知識(shí)的冰山一角,還有很多東西沒有學(xué)到。這次課程設(shè)計(jì)受益匪淺,不僅鍛煉了我做事堅(jiān)持不懈的心態(tài),也慢慢地培養(yǎng)了我不懂就查書的好習(xí)慣,我的自學(xué)能力也有了一定的提高,我更明白了搞計(jì)算機(jī)這行,要學(xué)到真正的技術(shù)完全要靠自己,在課堂上只能學(xué)到最基本的東西,但這最基本的東西也一定要學(xué)好。</p><p&

109、gt;  畢業(yè)在即,在以后的工作學(xué)習(xí)中,我還會(huì)將更多的時(shí)間與精力投入到Java的學(xué)習(xí)中,不斷為自己所學(xué)的知識(shí)補(bǔ)充新鮮血液。</p><p><b>  七.參考文獻(xiàn)</b></p><p>  《java2面向?qū)ο蟪绦蛟O(shè)計(jì)》 洪維恩,何嘉 編著 </p><p>  中國(guó)鐵道出版社2005.01</p>

溫馨提示

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