版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> JAVA實(shí)驗(yàn)報(bào)告</b></p><p><b> 題目</b></p><p><b> 紅綠燈控制道路車輛</b></p><p><b> 2.設(shè)計(jì)思路</b></p><p> 交通紅綠燈是交通的控制中心,控制
2、著道路上的所有車輛的行進(jìn)與停止,各各車輛為各自的線程,紅綠燈也是一個(gè)線程,同時(shí),紅綠燈線程用控制著車子線程的run、suspend、resume。</p><p><b> 3.重點(diǎn)代碼解釋</b></p><p> ?。?)此處代碼為添加背景音樂及建立一個(gè)JPanel容器</p><p> File musicFile;/////////
3、//////////////////</p><p><b> URI uri;</b></p><p><b> URL url;</b></p><p> public void init()</p><p><b> {</b></p><p&
4、gt; musicFile=new File("街道上汽車鳴笛的聲音.wav");</p><p> uri=musicFile.toURI();</p><p> try{url=uri.toURL();}</p><p> catch(Exception e){}</p><p> AudioClip cli
5、p=JApplet.newAudioClip(url);</p><p> clip.loop();////////////////////////以上為添加音樂</p><p> Container cp=getContentPane(); </p><p> CBox pa=new CBox(); </p><p> pa.
6、setPreferredSize(new Dimension(1000, 1000));</p><p> pa.setBackground(Color.red); </p><p> cp.add(pa,BorderLayout.CENTER);///////建立一個(gè)JPanel容器</p><p><b> }</b></p&
7、gt;<p> ?。?)此段代碼為紅綠燈線程,控制紅綠燈的變化,同時(shí)還會(huì)在變化燈時(shí)喚醒其他的線程,使正在sleep的線程resume。</p><p> while(th5==Thread.currentThread())////////////////////線程5,此線程控制紅綠燈</p><p><b> {</b></p>&l
8、t;p> if(L1.RedLight)</p><p><b> {</b></p><p> th3.resume();//當(dāng)紅燈亮?xí)r,東西向車子停,南北向車子動(dòng)</p><p><b> try{</b></p><p> th5.sleep(5000);</p>
9、<p> L1.RedLight=false;</p><p> L1.YellowLight=true;</p><p> L1.GreenLight=false;</p><p> repaint();</p><p><b> }</b></p><p> catc
10、h(Exception e) {}</p><p><b> }</b></p><p> if(L1.YellowLight)</p><p><b> {</b></p><p> th3.resume();//當(dāng)黃燈亮?xí)r,東西向車子停,南北向車子動(dòng)</p><p&
11、gt;<b> try{</b></p><p> th5.sleep(5000);</p><p> L1.YellowLight=false;</p><p> L1.GreenLight=true;</p><p> L1.RedLight=false;</p><p> rep
12、aint();</p><p><b> }</b></p><p> catch(Exception e) {}</p><p><b> }</b></p><p> if(L1.GreenLight)</p><p><b> {</b>
13、</p><p> th1.resume();//當(dāng)綠燈亮?xí)r,東西向車子啟動(dòng),南北向車子停止</p><p> th2.resume();</p><p> th4.resume();</p><p><b> try{</b></p><p> th5.sleep(10000);<
14、;/p><p> L1.YellowLight=false;</p><p> L1.RedLight=true;</p><p> L1.GreenLight=false;</p><p> repaint();</p><p><b> }</b></p><p>
15、; catch(Exception e) {}</p><p><b> }</b></p><p><b> }</b></p><p> ?。?)我們在屏幕上自繪圖形或者是添加圖片都是要通過所在畫布的重繪來實(shí)現(xiàn)的,因此閃爍的出現(xiàn)必然與重繪機(jī)制有著一些關(guān)聯(lián)。在awt中對于窗體畫布的重繪其條用順序是repaint(
16、) —>update()—>paint()。update中有一個(gè)清屏的作用,即g.clearRect(0, 0, width, height);然后再在下面調(diào)用paint(g),函數(shù)進(jìn)行重繪。</p><p> public void update(Graphics g) //雙緩沖原理實(shí)現(xiàn)消除閃爍</p><p> { </p><
17、;p> Image offScreenImage = null;</p><p> if (offScreenImage == null) </p><p> { </p><p> offScreenImage = this.createImage(2000, 2000); </p><p
18、> } </p><p> Graphics g1 = offScreenImage.getGraphics();</p><p> Color c = Color.RED; </p><p> g1 .setColor(c); </p><p&g
19、t; g1 .fillRect(0, 0, 2000, 1000); </p><p> paint(g1); </p><p> g1.drawImage(offScreenImage, 0, 0, null); </p><p><b> } </b></p&g
20、t;<p> ?。?)由各各類的對象調(diào)用類的paint方法,畫出圖形。</p><p> public void paint(Graphics g)</p><p><b> {</b></p><p> super.paint(g);</p><p> Graphics2D g2=(Graphic
21、s2D)g;</p><p> setBackground(Color.red);</p><p> g2.setStroke(new BasicStroke(2));</p><p> r1.paint(g2);//畫道路r1</p><p> c1.paintCar1(g2);//畫車c1</p><p>
22、 c2.paintCar2(g2);//畫車c2</p><p> c3.paintCar3(g2);//畫車c3</p><p> c4.paintCar4(g2);//畫車c4</p><p> L1.paintLight(g2);//畫路燈L1</p><p><b> }</b></p>
23、<p> ?。?)在package tool中編寫road類,并import到default包中,以便在finalwork中調(diào)用。代碼略</p><p> ?。?)在package tool中編寫car類,并import到default包中,以便在finalwork中調(diào)用。代碼略</p><p> ?。?)在package tool中編寫light類,并import到defaul
24、t包中,以便在finalwork中調(diào)用。代碼略</p><p><b> 4.部分截屏</b></p><p><b> 5.總結(jié)</b></p><p> 最近一段時(shí)間的java結(jié)業(yè)設(shè)計(jì),是我們這學(xué)期所學(xué)內(nèi)容的一個(gè)系統(tǒng)性總結(jié)。通過這次的設(shè)計(jì),讓我明白了很多的東西。一是課業(yè)知識的不足,在做程序時(shí)我遇到了很多的技術(shù)性難
25、題,是我們以前都沒有遇到過的,即使是在看幾遍書的情況下還是不能很好的運(yùn)用,讓我了解到自己再java方面的很多知識漏洞。二是運(yùn)用API文檔的意識不強(qiáng),在遇到問題時(shí),總不能在第一時(shí)間里查看API文檔來解決問題,而是很盲目的通過其他的途徑尋找解決辦法,卻不知最好的幫手就在自己的身邊。</p><p> 在以后的學(xué)習(xí)中一定要注意這次所沒有注意到的問題,平時(shí)認(rèn)真的學(xué)好專業(yè)知識,并不斷的通過課外途徑充實(shí)自己在課堂上所學(xué)知識
26、的不足之處,課程學(xué)習(xí)達(dá)到精益求精。</p><p><b> 附:全部代碼</b></p><p> ?。?)finalwork類代碼:</p><p> import java.applet.Applet;</p><p> import java.applet.AudioClip;</p><
27、;p> import java.awt.*;</p><p> import java.io.File;</p><p> import java.net.URI;</p><p> import java.net.URL;</p><p> import javax.swing.*;</p><p>
28、 import tool.car;</p><p> import tool.light;</p><p> import tool.road;</p><p> @SuppressWarnings({ "serial", "unused" })</p><p> public class
29、finalwork extends JApplet </p><p><b> {</b></p><p> File musicFile;///////////////////////////</p><p><b> URI uri;</b></p><p><b> URL
30、url;</b></p><p> public void init()</p><p><b> {</b></p><p> musicFile=new File("街道上汽車鳴笛的聲音.wav");</p><p> uri=musicFile.toURI();</p&
31、gt;<p> try{url=uri.toURL();}</p><p> catch(Exception e){}</p><p> AudioClip clip=JApplet.newAudioClip(url);</p><p> clip.loop();////////////////////////以上為添加音樂</p>
32、<p> Container cp=getContentPane(); </p><p> CBox pa=new CBox(); </p><p> pa.setPreferredSize(new Dimension(1000, 1000));</p><p> pa.setBackground(Color.lightGray); &
33、lt;/p><p> cp.add(pa,BorderLayout.CENTER);///////建立一個(gè)JPanel容器</p><p><b> }</b></p><p><b> }</b></p><p> @SuppressWarnings("serial")&l
34、t;/p><p> class CBox extends JPanel implements Runnable </p><p><b> {</b></p><p> road r1=new road();//申請road類的對象r1</p><p> car c1=new car();//申請car類的對象c1&
35、lt;/p><p> car c2=new car();//申請類car類的對象c2</p><p> car c3=new car();//申請類car的對象c3</p><p> car c4=new car();//申請類car的對象c4</p><p> light L1=new light();//申請light類的對象L1&l
36、t;/p><p> Thread th1=null,th2=null,th3=null,th4=null,th5=null;</p><p> public CBox()</p><p><b> {</b></p><p> th1=new Thread(this);</p><p> t
37、h1.start();</p><p> th2=new Thread(this);</p><p> th2.start();</p><p> th3=new Thread(this);</p><p> th3.start();</p><p> th4=new Thr
38、ead(this);</p><p> th4.start();</p><p> th5=new Thread(this);</p><p> th5.start();</p><p><b> }//線程初始化</b></p><p> public void st
39、op()</p><p><b> {</b></p><p><b> th1=null;</b></p><p><b> th2=null;</b></p><p><b> th3=null;</b></p><p>
40、;<b> th4=null;</b></p><p><b> th5=null;</b></p><p> }//線程的stop()</p><p> @SuppressWarnings("deprecation")</p><p> public void run
41、()//線程的run()方法</p><p><b> {</b></p><p> Thread current=Thread.currentThread();</p><p> while(th1==current) //////////////////////////////線程1,控制西向紅車
42、 </p><p><b> { </b></p><p> if((L1.YellowLight||L1.RedLight)&&c1.x6[0]<830&&c1.x6[0]>700)</p><p><b> {</b></p><p> t
43、h1.suspend();//當(dāng)路燈顯示為紅燈或黃燈,且在斑馬線附近時(shí),此線程suspend,車子停止 </p><p><b> }</b></p><p><b> else </b></p><p> if(L1.GreenLight)</p><p><b>
44、 {</b></p><p> th1.resume(); //在燈變綠燈時(shí),此線程在線程5中resume</p><p><b> }</b></p><p> if(c1.x6[4]<=0)</p><p><b> {</b></p><p>
45、; c1.x6[0]=1620;c1.x6[1]=1624;c1.x6[2]=1640;c1.x6[3]=1670;</p><p> c1.x6[4]=1674;c1.x6[5]=1680;c1.x6[6]=1620;</p><p> repaint();</p><p><b> }</b></p><p&g
46、t;<b> else</b></p><p> { </p><p> for(int j=0;j<c1.x6.length;j++)</p><p><b> {</b></p><p> c1.x6[j]=
47、c1.x6[j]-20;</p><p> c1.e41=c1.e41-4;</p><p> c1. e51=c1.e51-4;</p><p><b> }</b></p><p> repaint();</p><p><b> try</b></p&
48、gt;<p> {th1.sleep(100);}</p><p> catch(InterruptedException e){}</p><p><b> }</b></p><p><b> }</b></p><p> while(th2==current) ////
49、/////////////////////////線程2,控制西向綠車 </p><p><b> { </b></p><p> if((L1.YellowLight||L1.RedLight)&&c2.x7[0]<830&&c2.x7[0]>700)</p>&
50、lt;p> {th2.suspend();}//同th1</p><p><b> else </b></p><p> if(L1.GreenLight)</p><p><b> {</b></p><p> th2.resume();</p><p>&
51、lt;b> }</b></p><p> if(c2.x7[4]<0)</p><p><b> {</b></p><p> c2.x7[0]=2020;c2.x7[1]=2024;c2.x7[2]=2040;c2.x7[3]=2070;</p><p> c2.x7[4]=2074;
52、c2.x7[5]=2080;c2.x7[6]=2020;</p><p><b> }</b></p><p><b> else</b></p><p> { </p><p> for(int j=0;j<c2
53、.x7.length;j++)</p><p><b> {</b></p><p> c2.x7[j]=c2.x7[j]-12;</p><p> c2.e71=c2.e71-2;</p><p> c2.e71=c2.e71-2;</p><p><b> }</b&
54、gt;</p><p> repaint();</p><p><b> try</b></p><p> { th2.sleep(100);}</p><p> catch(InterruptedException e){}</p><p><b> } </b>
55、</p><p><b> } </b></p><p> while(th3==Thread.currentThread())//////////////////////線程3,控制東向綠車</p><p><b> {</b></p><p> if(L1.GreenLight&
56、&c3.yy[0]>=351&&c3.yy[0]<=407)</p><p><b> {</b></p><p> th3.suspend();</p><p><b> }</b></p><p> if(c3.yy[0]<-10)</p&
57、gt;<p><b> {</b></p><p> c3.yy[0]=800;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><
58、p> c3.yy[0]=c3.yy[0]-5;</p><p><b> try{</b></p><p> th3.sleep(100);</p><p> repaint();</p><p><b> }</b></p><p> catch(Int
59、erruptedException e){}</p><p><b> }</b></p><p><b> }</b></p><p> while(th4==Thread.currentThread())///////////////////////線程4,控制北向車</p><p>&l
60、t;b> {</b></p><p> if((L1.RedLight||L1.YellowLight)&&c4.xx[0]>=398-60&&c4.xx[0]<=488-60)</p><p><b> {</b></p><p> th4.suspend();</p
61、><p><b> }</b></p><p><b> else</b></p><p> if(L1.GreenLight)</p><p><b> {</b></p><p> th4.resume();</p><p&
62、gt;<b> }</b></p><p> if(c4.xx[0]>1400)</p><p><b> {</b></p><p> c4.xx[0]=-150;</p><p><b> }</b></p><p><b>
63、; else</b></p><p><b> {</b></p><p> c4.xx[0]=c4.xx[0]+5; </p><p> repaint();</p><p><b> }</b></p><p><b> try{&l
64、t;/b></p><p> th4.sleep(100);</p><p><b> }</b></p><p> catch(InterruptedException e){}</p><p><b> }</b></p><p> while(th5==
65、Thread.currentThread())////////////////////線程5,此線程控制紅綠燈</p><p><b> {</b></p><p> if(L1.RedLight)</p><p><b> {</b></p><p> th3.resume();//當(dāng)紅燈
66、亮?xí)r,東西向車子停,南北向車子動(dòng)</p><p><b> try{</b></p><p> th5.sleep(5000);</p><p> L1.RedLight=false;</p><p> L1.YellowLight=true;</p><p> L1.GreenLigh
67、t=false;</p><p> repaint();</p><p><b> }</b></p><p> catch(Exception e) {}</p><p><b> }</b></p><p> if(L1.YellowLight)</p&
68、gt;<p><b> {</b></p><p> th3.resume();//當(dāng)黃燈亮?xí)r,東西向車子停,南北向車子動(dòng)</p><p><b> try{</b></p><p> th5.sleep(5000);</p><p> L1.YellowLight=fal
69、se;</p><p> L1.GreenLight=true;</p><p> L1.RedLight=false;</p><p> repaint();</p><p><b> }</b></p><p> catch(Exception e) {}</p>&l
70、t;p><b> }</b></p><p> if(L1.GreenLight)</p><p><b> {</b></p><p> th1.resume();//當(dāng)綠燈亮?xí)r,東西向車子啟動(dòng),南北向車子停止</p><p> th2.resume();</p>&
71、lt;p> th4.resume();</p><p><b> try{</b></p><p> th5.sleep(10000);</p><p> L1.YellowLight=false;</p><p> L1.RedLight=true;</p><p> L1.G
72、reenLight=false;</p><p> repaint();</p><p><b> }</b></p><p> catch(Exception e) {}</p><p><b> }</b></p><p><b> }</b&
73、gt;</p><p><b> }</b></p><p> public void update(Graphics g) //雙緩沖原理實(shí)現(xiàn)消除閃爍</p><p> { </p><p> Image offScreenImage = null;</p><p>
74、; if (offScreenImage == null) </p><p> { </p><p> offScreenImage = this.createImage(2000, 2000); </p><p> } </p><p> Graph
75、ics g1 = offScreenImage.getGraphics();</p><p> Color c = Color.black; </p><p> g1 .setColor(c); </p><p> g1 .fillRect(0, 0, 2000, 1000); </p&g
76、t;<p> paint(g1); </p><p> g1.drawImage(offScreenImage, 0, 0, null); </p><p><b> } </b></p><p> public void paint(Graphics g)</p>
77、<p><b> {</b></p><p> super.paint(g);</p><p> Graphics2D g2=(Graphics2D)g;</p><p> g2.setBackground(Color.lightGray);</p><p> g2.setStroke(new B
78、asicStroke(2));</p><p> r1.paint(g2);//畫道路r1</p><p> c1.paintCar1(g2);//畫車c1</p><p> c2.paintCar2(g2);//畫車c2</p><p> c3.paintCar3(g2);//畫車c3</p><p> c
79、4.paintCar4(g2);//畫車c4</p><p> L1.paintLight(g2);//畫路燈L1</p><p><b> }</b></p><p><b> }</b></p><p> ?。?)road類代碼:</p><p> package
80、 tool;</p><p> import java.awt.BasicStroke;</p><p> import java.awt.Color;</p><p> import java.awt.Font;</p><p> import java.awt.Graphics2D;</p><p> i
81、mport java.awt.geom.GeneralPath;</p><p> import java.awt.geom.Line2D;</p><p> public class road /////////////////////////////////////////////</p><p><b> {</b></p&g
82、t;<p> public int x1[]={0,535,535,695,695,1462,1462,695,695,535,535,0,0};</p><p> public int y1[]={162,162,0,0,162,162,322,322,690,690,322,322,162};//用數(shù)組存儲(chǔ)畫道路的各點(diǎn)坐標(biāo)</p><p> Font f1=new
83、Font("隸書",Font.BOLD,48);</p><p> public void paint(Graphics2D g2)</p><p><b> {</b></p><p> g2.setPaint(new Color(100,120,150));</p><p> g2.set
84、Background(Color.green);</p><p> g2.setStroke(new BasicStroke(4));</p><p> GeneralPath polygon2=new GeneralPath(0,x1.length);</p><p> polygon2.moveTo(x1[0],y1[0]);</p>&l
85、t;p> for(int index=1;index<x1.length;index++)</p><p><b> {</b></p><p> polygon2.lineTo(x1[index], y1[index]);</p><p><b> }</b></p><p>
86、 polygon2.closePath();</p><p> g2.fill(polygon2);</p><p> g2.setPaint(Color.yellow);</p><p> g2.setStroke(new BasicStroke(6));</p><p> Line2D.Double line1=new Line
87、2D.Double(608,0,608,61);</p><p> Line2D.Double line2=new Line2D.Double(819,242,1362,242);</p><p> Line2D.Double line3=new Line2D.Double(608,407,608,660);</p><p> Line2D.Double li
88、ne4=new Line2D.Double(0,242,398,242);//路中間的黃線</p><p> g2.draw(line1);</p><p> g2.draw(line2);</p><p> g2.draw(line3);</p><p> g2.draw(line4);</p><p>
89、Line2D.Double zebraCrossing11=new Line2D.Double(535,61,695,61);</p><p> Line2D.Double zebraCrossing12=new Line2D.Double(535,83,695,83);</p><p> Line2D.Double zebraCrossing13=new Line2D.Double(
90、535,109,695,109);//斑馬線1</p><p> Line2D.Double zebraCrossing21=new Line2D.Double(749,162,749,322);</p><p> Line2D.Double zebraCrossing22=new Line2D.Double(785,162,785,322);</p><p>
91、 Line2D.Double zebraCrossing23=new Line2D.Double(819,162,819,322);//斑馬線2</p><p> Line2D.Double zebraCrossing31=new Line2D.Double(535,355,695,355);</p><p> Line2D.Double zebraCrossing32=new Li
92、ne2D.Double(535,379,695,379);</p><p> Line2D.Double zebraCrossing33=new Line2D.Double(535,407,695,407);//斑馬線3</p><p> Line2D.Double zebraCrossing41=new Line2D.Double(398,162,398,322);</p>
93、;<p> Line2D.Double zebraCrossing42=new Line2D.Double(427,162,427,322);</p><p> Line2D.Double zebraCrossing43=new Line2D.Double(460,162,460,322);//斑馬線4</p><p> g2.setPaint(Color.white)
94、;</p><p> g2.draw(zebraCrossing11);</p><p> g2.draw(zebraCrossing12);</p><p> g2.draw(zebraCrossing13);</p><p> g2.draw(zebraCrossing21);</p><p> g2.d
95、raw(zebraCrossing22);</p><p> g2.draw(zebraCrossing23);</p><p> g2.draw(zebraCrossing31);</p><p> g2.draw(zebraCrossing32);</p><p> g2.draw(zebraCrossing33);</p&
96、gt;<p> g2.draw(zebraCrossing41);</p><p> g2.draw(zebraCrossing42);</p><p> g2.draw(zebraCrossing43);</p><p> g2.setPaint(Color.black);</p><p> g2.setFont(f
97、1);</p><p> g2.drawString("2402100210", 800, 400);</p><p> g2.drawString("黃小君",800,450);</p><p><b> }</b></p><p><b> }</b&g
98、t;</p><p> ?。?)car類代碼:</p><p> package tool;</p><p> import java.awt.Color;</p><p> import java.awt.Graphics2D;</p><p> import java.awt.geom.Ellipse2D;
99、</p><p> import java.awt.geom.GeneralPath;</p><p> import java.awt.geom.Rectangle2D;</p><p> public class car </p><p><b> {</b></p><p> pu
100、blic int x61=1120,x62=1124,x63=1140,x64=1170,x65=1174,x66=1180,x67=1120,</p><p> y61=195,y62=185,y63=175,y64=175,y65=185,y66=195,y67=195,</p><p> x6[]={x61,x62,x63,x64,x65,x66,x67},</p>
101、<p> y6[]={y61,y62,y63,y64,y65,y66,y67},//車1</p><p> x71=1020,x72=1024,x73=1040,x74=1070,x75=1074,x76=1080,x77=1020,</p><p> y71=225,y72=215,y73=205,y74=205,y75=215,y76=225,y77=225,<
102、/p><p> x7[]={x71,x72,x73,x74,x75,x76,x77},</p><p> y7[]={y71,y72,y73,y74,y75,y76,y77},//車2</p><p> e41=935, e42=190, e43=10, e44=10,</p><p> e51=960,e52=190,e53=10,e5
103、4=10,//車1輪</p><p> e61=1035,e62=220,e63=10,e64=10,</p><p> e71=1060,e72=220,e73=10,e74=10,//車2輪</p><p> x9=545+80,y9=420+500+200,w9=45,h9=60,</p><p> yy[]={y9},<
104、/p><p> x10=-60,y10=262,w10=60,h10=45,</p><p> xx[]={x10};</p><p> public void paintCar1(Graphics2D g2)</p><p><b> {</b></p><p> Ellipse2D.Do
105、uble e4=new Ellipse2D.Double(x6[5]-16,y6[5],e43,e44);</p><p> Ellipse2D.Double e5=new Ellipse2D.Double(x6[6]+10,y6[6],e53,e54);</p><p> g2.setPaint(Color.black);</p><p> g2.fill(
106、e4);</p><p> g2.fill(e5);</p><p> g2.setPaint(Color.red);</p><p> GeneralPath polygon1=new GeneralPath(0,x6.length);</p><p> polygon1.moveTo(x6[0], y6[0]);</p>
107、;<p> for(int index=0;index<x6.length;index++)</p><p><b> {</b></p><p> polygon1.lineTo(x6[index], y6[index]);</p><p><b> }</b></p><
108、p> polygon1.closePath();</p><p> g2.draw(polygon1);//車身</p><p><b> }</b></p><p> public void paintCar2(Graphics2D g2)</p><p><b> {</b>&l
109、t;/p><p> Ellipse2D.Double e6=new Ellipse2D.Double(x7[5]-16,y7[5],e63,e64);</p><p> Ellipse2D.Double e7=new Ellipse2D.Double(x7[6]+10,y7[6],e73,e74);//車輪</p><p> g2.setPaint(Color.b
110、lack);</p><p> g2.fill(e6);</p><p> g2.fill(e7);</p><p> g2.setPaint(Color.green);</p><p> GeneralPath polygon2=new GeneralPath(0,x7.length);</p><p>
111、polygon2.moveTo(x7[0], y7[0]);</p><p> for(int index=0;index<x7.length;index++)</p><p><b> {</b></p><p> polygon2.lineTo(x7[index], y7[index]);</p><p>
112、;<b> }</b></p><p> polygon2.closePath();</p><p> g2.draw(polygon2);//車身</p><p><b> }</b></p><p> public void paintCar3(Graphics2D g2)</p
113、><p><b> {</b></p><p> g2.setPaint(Color.red);</p><p> g2.fill(new Rectangle2D.Double(x9,yy[0],w9,h9));</p><p><b> }</b></p><p>
114、public void paintCar4(Graphics2D g2)</p><p><b> {</b></p><p> g2.setPaint(Color.green);</p><p> g2.fill(new Rectangle2D.Double(xx[0],y10,w10,h10));</p><p&g
115、t;<b> }</b></p><p><b> }</b></p><p> ?。?)light類代碼:</p><p> package tool;</p><p> import java.awt.BasicStroke;</p><p> import j
116、ava.awt.Color;</p><p> import java.awt.Graphics2D;</p><p> import java.awt.geom.Ellipse2D;</p><p> public class light </p><p><b> {</b></p><p
117、> Ellipse2D.Double light1=new Ellipse2D.Double(715,80,20,20),//紅燈</p><p> light2=new Ellipse2D.Double(755,80,20,20),//綠燈</p><p> light3=new Ellipse2D.Double(735,80,20,20);//黃燈</p>&
118、lt;p> public boolean RedLight=false,</p><p> YellowLight=false,</p><p> GreenLight=true; </p><p> public void paintLight(Graphics2D g2)</p><p><b> {</b
119、></p><p> g2.setStroke(new BasicStroke(6));</p><p> g2.setColor(new Color(80,100,140));</p><p> g2.fillRect(746,110,4,50);</p><p> g2.drawRect(705,78,80,25);<
120、/p><p> if(RedLight)</p><p> { g2.setColor(Color.red);</p><p> g2.fill(light1);</p><p> g2.setColor(Color.gray);</p><p> g2.fill(light2);</p><
121、p> g2.fill(light3);</p><p><b> }</b></p><p> if(YellowLight)</p><p> { g2.setColor(Color.yellow);</p><p> g2.fill(light3);</p><p> g2
122、.setColor(Color.gray);</p><p> g2.fill(light1);</p><p> g2.fill(light2);</p><p><b> }</b></p><p> if(GreenLight)</p><p> { g2.setColor(Co
123、lor.green);</p><p> g2.fill(light2);</p><p> g2.setColor(Color.gray);</p><p> g2.fill(light1);</p><p> g2.fill(light3);</p><p><b> } </
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅綠燈 java課程設(shè)計(jì)報(bào)告
- 紅綠燈課程設(shè)計(jì)
- 紅綠燈課程設(shè)計(jì)
- plc_紅綠燈課程設(shè)計(jì)報(bào)告
- 微機(jī)原理課程設(shè)計(jì)報(bào)告---紅綠燈
- 接口課程設(shè)計(jì)——模擬紅綠燈實(shí)驗(yàn)
- 單片機(jī)課程設(shè)計(jì)--紅綠燈
- 太陽能紅綠燈課程設(shè)計(jì)
- 紅綠燈數(shù)字電路課程設(shè)計(jì)
- 課程設(shè)計(jì)--人行道紅綠燈控制系統(tǒng)
- 電工電子課程設(shè)計(jì)——自動(dòng)紅綠燈控制系統(tǒng)
- 課程設(shè)計(jì)——交通紅綠燈plc控制系統(tǒng)
- 課程設(shè)計(jì)---人行道紅綠燈控制系統(tǒng)
- 《數(shù)字電子技術(shù)》課程設(shè)計(jì)報(bào)告---紅綠燈控制器
- 數(shù)字電路紅綠燈課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 單片機(jī)課程設(shè)計(jì)---交通紅綠燈
- 紅綠燈交通控制的eda設(shè)計(jì)
- 《紅綠燈前
- 飲食紅綠燈
- 校園紅綠燈 教學(xué)設(shè)計(jì)
評論
0/150
提交評論