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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  電子與信息工程學(xué)院</b></p><p>  Java課程設(shè)計(jì)報(bào)告</p><p>  ( 2012——2013年度第一學(xué)期)</p><p>  課程名稱:  Java課程設(shè)計(jì) </p><p>  題  目:     Java時(shí)鐘    </p><

2、;p>  院 系: 計(jì)算機(jī)科學(xué)系 </p><p>  班 級(jí): 10軟件工程本(2)班 </p><p>  姓 名: </p><p>  學(xué) 號(hào): </p><p&g

3、t;  指導(dǎo)教師: </p><p>  2012 年 12月 20日</p><p><b>  摘 要</b></p><p>  隨著經(jīng)濟(jì)全球化的發(fā)展,推動(dòng)生活節(jié)奏的加快,也給時(shí)間賦予了更重要的意義?;诜奖闳藗兏玫恼莆諘r(shí)間,我們小組設(shè)計(jì)出了這個(gè)小時(shí)鐘。</p><p>  

4、本時(shí)鐘是一個(gè)基于Java語(yǔ)言設(shè)計(jì)而成的一個(gè)小程序,目的是顯示時(shí)間,并且能調(diào)準(zhǔn)時(shí)鐘。整個(gè)程序從符合操作簡(jiǎn)便、界面友好、靈活使用的要求出發(fā),完成調(diào)用、調(diào)整的全過(guò)程。</p><p>  本課程設(shè)計(jì)報(bào)告介紹了時(shí)鐘的構(gòu)成,論述了目標(biāo)功能模塊;給出了時(shí)鐘設(shè)計(jì)的步驟,程序主要所用到的Swing組件以及graphics方法。</p><p>  一、課程設(shè)計(jì)的目的與要求</p><

5、p><b> ?。?、 課程設(shè)計(jì)目的</b></p><p>  《Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)》是計(jì)算機(jī)相關(guān)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實(shí)踐性、應(yīng)用性很強(qiáng)。實(shí)踐教學(xué)環(huán)節(jié)是必不可少的一個(gè)重要環(huán)節(jié)。本課程的程序設(shè)計(jì)專題實(shí)際是計(jì)算機(jī)相關(guān)專業(yè)學(xué)生學(xué)習(xí)完《Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)》課程后,進(jìn)行的一次全面的綜合訓(xùn)練,Java程序設(shè)計(jì)的設(shè)計(jì)目的是加深對(duì)理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)地掌

6、握程序設(shè)計(jì)及其在網(wǎng)絡(luò)開(kāi)發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學(xué)生綜合運(yùn)用所學(xué)知識(shí),利用軟件工程為基礎(chǔ)進(jìn)行軟件開(kāi)發(fā)、并在實(shí)踐應(yīng)用方面打下一定基礎(chǔ)。</p><p> ?。病?課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境</p><p>  硬件要求能運(yùn)行Windows操作系統(tǒng)的微機(jī)系統(tǒng)。Java程序設(shè)計(jì)語(yǔ)言及相應(yīng)的集成開(kāi)發(fā)環(huán)境,JDK和ECLIPSE開(kāi)發(fā)工具。</p><p> ?。?、 課程設(shè)計(jì)的

7、預(yù)備知識(shí)</p><p>  熟悉Java語(yǔ)言及ECLIPSE開(kāi)發(fā)工具。</p><p><b> ?。?、 課程設(shè)計(jì)要求</b></p><p>  按課程設(shè)計(jì)指導(dǎo)書提供的課題,要求學(xué)生在自行完成各個(gè)操作環(huán)節(jié),并能實(shí)現(xiàn)且達(dá)到舉一反三的目的,完成一個(gè)項(xiàng)目解決一類問(wèn)題。要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計(jì)和解答類似問(wèn)題

8、;對(duì)此能夠較好地理解和掌握,能夠進(jìn)行簡(jiǎn)單分析和判斷;能編寫出具有良好風(fēng)格的程序;掌握J(rèn)ava程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?;了解多線程、數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)等編程技術(shù)。同時(shí)培養(yǎng)學(xué)生進(jìn)行分析問(wèn)題、解決問(wèn)題的能力;培養(yǎng)學(xué)生進(jìn)行設(shè)計(jì)分析、設(shè)計(jì)方法、設(shè)計(jì)操作與測(cè)試、設(shè)計(jì)過(guò)程的觀察、理解和歸納能力的提高。</p><p><b>  二、需求分析</b></p><p>  

9、1、軟件需求分析的要求</p><p>  具備把系統(tǒng)的硬件和軟件部分應(yīng)用于用戶環(huán)境的能力;</p><p>  具備良好的書面和口頭形式進(jìn)行討論和交換意見(jiàn)的能力;</p><p>  具有“既能看到樹木,又能看到森林”的能力。</p><p>  軟件需求分析是軟件生存期的一個(gè)重要階段,是軟件開(kāi)發(fā)項(xiàng)目得以成功的基礎(chǔ)。其最根本的任務(wù)是確定為了

10、滿足用戶的需要軟件系統(tǒng)必須做什么。</p><p>  軟件需求分析是一個(gè)不斷發(fā)現(xiàn)和決定的過(guò)程,在此過(guò)程中,軟件開(kāi)發(fā)者和軟件申請(qǐng)者(用戶)同樣起著重要的作用。</p><p>  在需求分析與說(shuō)明過(guò)程中,需要大量交換意見(jiàn),其間充滿著傳錯(cuò)信息和發(fā)生誤解的可能性。</p><p>  2、軟件需求分析實(shí)現(xiàn)以下幾個(gè)目標(biāo):</p><p>  給出軟

11、件系統(tǒng)的數(shù)據(jù)流程圖與數(shù)據(jù)結(jié)構(gòu),構(gòu)造一個(gè)完全的系統(tǒng)邏輯模型。</p><p>  提出詳細(xì)的功能說(shuō)明確定設(shè)計(jì)限定條件,規(guī)定性能要求。</p><p>  3、用戶對(duì)多功能時(shí)鐘的期望</p><p>  多功能時(shí)鐘系統(tǒng)的要求主要有以下幾個(gè)方面:</p><p>  (1)、設(shè)計(jì)的系統(tǒng)能夠完成多功能時(shí)鐘系統(tǒng)的主要功能;</p><

12、;p>  (2)、 設(shè)計(jì)的系統(tǒng)界面簡(jiǎn)潔、布局合理;</p><p>  (3)、具有一定的穩(wěn)定性,安全性;</p><p>  (4)、畫面簡(jiǎn)潔、易于觀看。</p><p>  (5)、數(shù)字與指針功能相結(jié)合。</p><p><b>  三、概要設(shè)計(jì)</b></p><p><b>

13、;  1、時(shí)鐘設(shè)計(jì)流程圖</b></p><p><b>  2、程序功能設(shè)計(jì)</b></p><p>  本程序分為以下3個(gè)功能模塊。</p><p>  (1)數(shù)字時(shí)鐘。數(shù)字時(shí)鐘模塊是以數(shù)字的形式把時(shí)間寫在窗口上,可以一目了然地看時(shí)間,是幾時(shí)幾分幾秒。</p><p>  (2)指針時(shí)鐘。指針時(shí)鐘模塊是以

14、鐘表的形式顯示在窗口上,在上面也可以較為準(zhǔn)確地知道時(shí)間。</p><p>  (3)時(shí)鐘窗口。時(shí)鐘窗口模塊是以綠色為時(shí)鐘的背景色,并且在窗口內(nèi)顯示年月份以及星期。</p><p><b>  3、程序功能設(shè)計(jì)</b></p><p>  本程序共設(shè)計(jì)了6個(gè)類,各類及功能說(shuō)明如下:</p><p>  1、clockPan

15、el    /*控件*/</p><p>  2、myClock /*窗口*/</p><p>  3、panel3 /*數(shù)字時(shí)鐘*/</p><p>  4、myActionListener /*監(jiān)聽(tīng)*/</p><p>  5、ClockCenter /*指針時(shí)鐘中心*/<

16、;/p><p>  6、panel2 /*指針時(shí)鐘*/</p><p><b>  四、詳細(xì)設(shè)計(jì)</b></p><p><b>  1、導(dǎo)入的包</b></p><p>  import java.awt.BorderLayout;</p><p>  i

17、mport java.awt.Color;</p><p>  import java.awt.Container;</p><p>  import java.awt.Dimension;</p><p>  import java.awt.Font;</p><p>  import java.awt.Graphics;</p>

18、;<p>  import java.awt.Graphics2D;</p><p>  import java.awt.Panel;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p

19、>  import java.text.SimpleDateFormat;</p><p>  import java.util.Date;</p><p>  import java.util.GregorianCalendar;</p><p>  import javax.swing.JFrame;</p><p>  impor

20、t javax.swing.JLabel;</p><p>  import javax.swing.Timer;</p><p><b>  2、時(shí)鐘窗口設(shè)計(jì)</b></p><p>  public class myClock //myClock構(gòu)造方法</p><p><b>  {

21、 </b></p><p>  public static void main(String[] args) </p><p><b>  { </b></p><p>  JFrame frame = new JFrame("時(shí)鐘"); // 窗口標(biāo)題“時(shí)鐘”</p><p&

22、gt;  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 點(diǎn)擊x結(jié)束程序 </p><p>  Container contentPane = frame.getContentPane(); </p><p>  // 得到窗口內(nèi)容面板 </p><p>  contentPane.add(

23、new clockPanel()); </p><p>  frame.pack(); </p><p>  frame.setVisible(true); // 設(shè)置窗口可見(jiàn) </p><p><b>  } </b></p><p><b>  } </b></p>&

24、lt;p><b>  3、繪制數(shù)字時(shí)鐘</b></p><p>  class panel3 extends Panel </p><p><b>  { </b></p><p>  private static final long serialVersionUID = 1L;</p><

25、p>  Timer timer; </p><p>  private int hour, min, sec; </p><p>  JLabel label2; </p><p>  @SuppressWarnings("deprecation")</p><p>  public panel3() <

26、;/p><p><b>  { </b></p><p>  label2 = new JLabel(); </p><p>  label2.setFont(new Font("SAN_SERIF", Font.BOLD, 25)); //設(shè)置字體大小</p><p>  add(label2

27、); </p><p>  timer = new Timer(1000, new myActionListener()); </p><p>  timer.start(); </p><p>  GregorianCalendar date = new GregorianCalendar(); </p><p>  hour = d

28、ate.getTime().getHours(); </p><p>  min = date.getTime().getMinutes(); </p><p>  sec = date.getTime().getSeconds(); </p><p><b>  } </b></p><p>  public

29、void paint(Graphics g) </p><p><b>  { </b></p><p>  super.paint(g); </p><p>  // 畫數(shù)字鐘 </p><p>  label2.setText(String.format("%1$,02d", hou

30、r) + ":" </p><p>  + String.format("%1$,02d", min) + ":" </p><p>  + String.format("%1$,02d", sec)); </p><p><b>  } </b></

31、p><p>  public class myActionListener implements ActionListener </p><p><b>  { </b></p><p>  @SuppressWarnings("deprecation") </p><p>  public voi

32、d actionPerformed(ActionEvent e) </p><p><b>  { </b></p><p>  if (e.getSource() == timer) </p><p><b>  { </b></p><p>  GregorianCalendar dat

33、e = new GregorianCalendar(); //獲取當(dāng)前時(shí)間</p><p>  hour = date.getTime().getHours(); </p><p>  min = date.getTime().getMinutes(); </p><p>  sec = date.getTime().getSeconds();

34、</p><p>  repaint(); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></

35、p><p><b>  4、指針時(shí)鐘設(shè)計(jì)</b></p><p>  class panel2 extends Panel </p><p><b>  { </b></p><p>  private static final long serialVersionUID = 1L;</p&g

36、t;<p>  @SuppressWarnings("unused")</p><p>  private int degree = 0; </p><p>  final double pi = Math.PI; </p><p>  final double R = 100; </p><p>  

37、Timer timer; </p><p>  private int hour, min, sec; </p><p>  @SuppressWarnings("deprecation")</p><p>  public panel2() </p><p><b>  { </b><

38、/p><p>  timer = new Timer(1000, new myActionListener()); </p><p>  timer.start(); </p><p>  GregorianCalendar date = new GregorianCalendar(); //獲取當(dāng)前時(shí)間</p><p>  hour =

39、date.getTime().getHours(); </p><p>  if (hour > 12) </p><p><b>  { </b></p><p>  hour = hour - 12; </p><p><b>  } </b></p><p&

40、gt;  min = date.getTime().getMinutes(); </p><p>  sec = date.getTime().getSeconds(); </p><p><b>  } </b></p><p>  public void paint(Graphics g) </p><p&g

41、t;<b>  { </b></p><p>  super.paint(g); </p><p>  Graphics2D g2d = (Graphics2D) g; </p><p>  g2d.fillOval(ClockCenter.centerX - 1, ClockCenter.centerY - 1, 5, 5); <

42、;/p><p>  for (int i = 6; i <= 360; i += 6) </p><p><b>  { </b></p><p>  if (i % 30 != 0) </p><p><b>  { </b></p><p>  g2d.setC

43、olor(Color.black); </p><p>  g2d.fillOval((int) (ClockCenter.centerX + R </p><p>  * Math.cos((double) i / 180 * pi - pi / 2)), </p><p>  (int) (ClockCenter.centerX + R </p&g

44、t;<p>  * Math.sin((double) i / 180 * pi - pi / 2)), 3, </p><p><b>  3); </b></p><p><b>  } else </b></p><p><b>  { </b></p>&l

45、t;p>  if (i % 90 == 0) </p><p><b>  { </b></p><p>  g2d.setColor(Color.red); </p><p><b>  } else </b></p><p><b>  { </b><

46、/p><p>  g2d.setColor(Color.black); </p><p><b>  } </b></p><p>  // g2d.setFont(new Font("SAN_SERIF",Font.BOLD,15)); </p><p><b>  g2d <

47、/b></p><p>  .drawString(String.valueOf(i / 30), </p><p>  (int) (ClockCenter.centerX + R </p><p>  * Math.cos((double) i / 180 * pi - pi </p><p>  / 2)) - 3, &l

48、t;/p><p>  (int) (ClockCenter.centerX + R </p><p>  * Math.sin((double) i / 180 * pi - pi </p><p>  / 2)) + 5); </p><p><b>  } </b></p><p><

49、;b>  } </b></p><p><b>  // 畫指針 </b></p><p>  g2d.setColor(Color.red); </p><p>  g2d.drawLine(ClockCenter.centerX, ClockCenter.centerY, </p><p>

50、;  (int) (ClockCenter.centerX + (R - 10) </p><p>  * Math.cos((double) sec / 180 * pi - pi / 2)), </p><p>  (int) (ClockCenter.centerX + (R - 10) </p><p>  * Math.sin((double) se

51、c / 180 * pi - pi / 2))); </p><p>  g2d.setColor(Color.blue); </p><p>  g2d.drawLine(ClockCenter.centerX, ClockCenter.centerY, </p><p>  (int) (ClockCenter.centerX + (R - 20) &l

52、t;/p><p>  * Math.cos((double) min / 180 * pi - pi / 2)), </p><p>  (int) (ClockCenter.centerX + (R - 20) </p><p>  * Math.sin((double) min / 180 * pi - pi / 2))); </p><p

53、>  g2d.setColor(Color.black); </p><p>  g2d.drawLine(ClockCenter.centerX, ClockCenter.centerY, </p><p>  (int) (ClockCenter.centerX + (R - 30) </p><p>  * Math.cos((double) ho

54、ur / 180 * pi - pi / 2)), </p><p>  (int) (ClockCenter.centerX + (R - 30) </p><p>  * Math.sin((double) hour / 180 * pi - pi / 2))); </p><p><b>  } </b></p>

55、<p>  class myActionListener implements ActionListener //畫數(shù)字鐘</p><p><b>  { </b></p><p>  @SuppressWarnings("deprecation") </p><p>  public void actio

56、nPerformed(ActionEvent e) </p><p><b>  { </b></p><p>  if (e.getSource() == timer) </p><p><b>  { </b></p><p>  GregorianCalendar date = new

57、 GregorianCalendar(); </p><p>  hour = date.getTime().getHours(); </p><p>  if (hour > 12) </p><p><b>  { </b></p><p>  hour = hour - 12; </p>

58、<p><b>  } </b></p><p>  hour = hour * 30; </p><p>  min = date.getTime().getMinutes(); </p><p>  min = min * 6; </p><p>  sec = date.getTime().g

59、etSeconds(); </p><p>  sec = sec * 6; </p><p>  repaint(); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }</b&

60、gt;</p><p><b>  }</b></p><p><b>  五、測(cè)試分析</b></p><p><b>  程序運(yùn)行界面如圖:</b></p><p>  1、顯示數(shù)字時(shí)鐘效果如圖:</p><p>  2、顯示指針時(shí)鐘效果如圖:<

61、;/p><p> ?。场r(shí)鐘完全效果如圖:</p><p>  六、程序設(shè)計(jì)心得體會(huì)</p><p>  本次Java課程設(shè)計(jì)我的題目是時(shí)鐘,題目不算難,但我做的很艱苦。主要就是動(dòng)手能力太差,理論知識(shí)掌握的不全面,自以為會(huì)不少,但真做起來(lái),卻不知道從哪下手了。又回去溫習(xí)理論知識(shí),請(qǐng)教老師,上網(wǎng)查資料,忙的不亦樂(lè)乎。不過(guò)經(jīng)過(guò)努力總算是做出來(lái)了,還通過(guò)此次課程設(shè)計(jì),將我本學(xué)

62、期所學(xué)的JAVA知識(shí)得到鞏固和應(yīng)用。在設(shè)計(jì)的過(guò)程中我遇到的很多問(wèn)題,在老師的幫助和自己的思考下還是很好的完成了。這此課程設(shè)計(jì)我懂得了寫程序不能脫離實(shí)際,只憑主觀辦事,要努力拓寬知識(shí)面,拓展思維。</p><p>  事情就是如此,努力代表收獲。通過(guò)這次課程設(shè)計(jì),我才真正領(lǐng)悟到“艱苦奮斗”這一詞的真正含義,我才感受到早期電子設(shè)計(jì)者為現(xiàn)代的社會(huì)付出。設(shè)計(jì)確實(shí)有些辛苦,但苦中也有樂(lè),在如今單一的理論學(xué)習(xí)中,很少有機(jī)會(huì)能

63、有實(shí)踐的機(jī)會(huì),但現(xiàn)在可以,這些天的設(shè)計(jì)中得到的東西卻不比理論課上得到的少多少,我感覺(jué)我和Java的距離更加近了;我想說(shuō),確實(shí)很累,但當(dāng)我看到自己所做的成果時(shí),心中也不免產(chǎn)生興奮; 學(xué)習(xí)有成果了么。</p><p>  對(duì)Java編程有了一個(gè)基本的了解。這些天溫習(xí)的內(nèi)容越多,敲得代碼越多,自己的學(xué)習(xí)積極性也越在提高,感覺(jué)也越充實(shí)。越來(lái)越發(fā)現(xiàn)現(xiàn)在學(xué)習(xí)的只是Java的基礎(chǔ),但涉及的面還是很廣泛的,這些都為以后進(jìn)一步學(xué)習(xí)

64、Java的高級(jí)特性打下了扎實(shí)的基礎(chǔ)。隨著課程難度的慢慢加強(qiáng),今后遇到的困難也必將會(huì)越來(lái)越多,但我相信自己一定能做好這些的。</p><p>  在本次Java課程設(shè)計(jì)中,我要非常感謝我的指導(dǎo)老師tian老師,不但在課堂上教給了我很多的Java的編程知tian,編程思想,而且在這次課程設(shè)計(jì)中更教會(huì)了我動(dòng)手的能力,真正的編出了自己的東西,還要感謝我的同學(xué),他們?cè)谖矣龅嚼щy時(shí)也給了我很多幫助。</p>&

65、lt;p><b>  七、源程序清單</b></p><p>  import java.awt.BorderLayout;</p><p>  import java.awt.Color;</p><p>  import java.awt.Container;</p><p>  import java.awt

66、.Dimension;</p><p>  import java.awt.Font;</p><p>  import java.awt.Graphics;</p><p>  import java.awt.Graphics2D;</p><p>  import java.awt.Panel;</p><p> 

67、 import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.text.SimpleDateFormat;</p><p>  import java.util.Date;</p><p>  

68、import java.util.GregorianCalendar;</p><p>  import javax.swing.JFrame;</p><p>  import javax.swing.JLabel;</p><p>  import javax.swing.Timer;</p><p>  class clockPanel

69、 extends Panel </p><p><b>  { </b></p><p>  private static final long serialVersionUID = 1L;</p><p>  Panel p1, p2, p3; </p><p>  JLabel label1; </p&

70、gt;<p>  int year, month, day, week; </p><p>  public clockPanel() </p><p><b>  { </b></p><p>  setBackground(Color.green); //設(shè)置背景顏色為綠色</p><

71、p>  setPreferredSize(new Dimension(250,320)); //設(shè)置控件大小</p><p>  setLayout(new BorderLayout(10, 10)); //設(shè)置布局</p><p>  p1 = new Panel(); </p><p>  label1 = new JLabel(); &l

72、t;/p><p>  SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日(EE)");//設(shè)置日期格式 </p><p>  label1.setText(df.format(new Date())); </p><p>  p1.add(label1); </p>&

73、lt;p>  p2 = new panel2(); </p><p>  p3 = new panel3(); </p><p>  this.add(p1, BorderLayout.NORTH); </p><p>  this.add(p2, BorderLayout.CENTER); </p><p>  this

74、.add(p3, BorderLayout.SOUTH);</p><p><b>  } </b></p><p><b>  } </b></p><p>  public class myClock //myClock構(gòu)造方法</p><p><b>  {

75、 </b></p><p>  public static void main(String[] args) </p><p><b>  { </b></p><p>  JFrame frame = new JFrame("時(shí)鐘"); // 窗口標(biāo)題“時(shí)鐘”</p><p&

76、gt;  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 點(diǎn)擊x結(jié)束程序 </p><p>  Container contentPane = frame.getContentPane(); </p><p>  // 得到窗口內(nèi)容面板 </p><p>  contentPane.add(

77、new clockPanel()); </p><p>  frame.pack(); </p><p>  frame.setVisible(true); // 設(shè)置窗口可見(jiàn) </p><p><b>  } </b></p><p><b>  } </b></p>&

78、lt;p>  class panel3 extends Panel </p><p><b>  { </b></p><p>  private static final long serialVersionUID = 1L;</p><p>  Timer timer; </p><p>  privat

79、e int hour, min, sec; </p><p>  JLabel label2; </p><p>  @SuppressWarnings("deprecation")</p><p>  public panel3() </p><p><b>  { </b></p&g

80、t;<p>  label2 = new JLabel(); </p><p>  label2.setFont(new Font("SAN_SERIF", Font.BOLD, 25)); //設(shè)置字體大小</p><p>  add(label2); </p><p>  timer = new Timer(1000,

81、new myActionListener()); </p><p>  timer.start(); </p><p>  GregorianCalendar date = new GregorianCalendar(); </p><p>  hour = date.getTime().getHours(); </p><p>  

82、min = date.getTime().getMinutes(); </p><p>  sec = date.getTime().getSeconds(); </p><p><b>  } </b></p><p>  public void paint(Graphics g) </p><p><b

83、>  { </b></p><p>  super.paint(g); </p><p>  // 畫數(shù)字鐘 </p><p>  label2.setText(String.format("%1$,02d", hour) + ":" </p><p>  + Strin

84、g.format("%1$,02d", min) + ":" </p><p>  + String.format("%1$,02d", sec)); </p><p><b>  } </b></p><p>  public class myActionListener im

85、plements ActionListener </p><p><b>  { </b></p><p>  @SuppressWarnings("deprecation") </p><p>  public void actionPerformed(ActionEvent e) </p><

86、p><b>  { </b></p><p>  if (e.getSource() == timer) </p><p><b>  { </b></p><p>  GregorianCalendar date = new GregorianCalendar(); //獲取當(dāng)前時(shí)間</p>

87、;<p>  hour = date.getTime().getHours(); </p><p>  min = date.getTime().getMinutes(); </p><p>  sec = date.getTime().getSeconds(); </p><p>  repaint(); </p><

88、;p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  class ClockCenter </p>&

89、lt;p><b>  { </b></p><p>  public static int centerX = 120;</p><p>  public static int centerY = 120; </p><p><b>  } </b></p><p>  class pa

90、nel2 extends Panel </p><p><b>  { </b></p><p>  private static final long serialVersionUID = 1L;</p><p>  @SuppressWarnings("unused")</p><p>  p

91、rivate int degree = 0; </p><p>  final double pi = Math.PI; </p><p>  final double R = 100; </p><p>  Timer timer; </p><p>  private int hour, min, sec; </p>

92、<p>  @SuppressWarnings("deprecation")</p><p>  public panel2() </p><p><b>  { </b></p><p>  timer = new Timer(1000, new myActionListener()); </p&

93、gt;<p>  timer.start(); </p><p>  GregorianCalendar date = new GregorianCalendar(); //獲取當(dāng)前時(shí)間</p><p>  hour = date.getTime().getHours(); </p><p>  if (hour > 12) </p

94、><p><b>  { </b></p><p>  hour = hour - 12; </p><p><b>  } </b></p><p>  min = date.getTime().getMinutes(); </p><p>  sec = dat

95、e.getTime().getSeconds(); </p><p><b>  } </b></p><p>  public void paint(Graphics g) </p><p><b>  { </b></p><p>  super.paint(g); </p&

96、gt;<p>  Graphics2D g2d = (Graphics2D) g; </p><p>  g2d.fillOval(ClockCenter.centerX - 1, ClockCenter.centerY - 1, 5, 5); </p><p>  for (int i = 6; i <= 360; i += 6) </p><

97、;p><b>  { </b></p><p>  if (i % 30 != 0) </p><p><b>  { </b></p><p>  g2d.setColor(Color.black); </p><p>  g2d.fillOval((int) (ClockCente

98、r.centerX + R </p><p>  * Math.cos((double) i / 180 * pi - pi / 2)), </p><p>  (int) (ClockCenter.centerX + R </p><p>  * Math.sin((double) i / 180 * pi - pi / 2)), 3, </p>

99、;<p><b>  3); </b></p><p><b>  } else </b></p><p><b>  { </b></p><p>  if (i % 90 == 0) </p><p><b>  { </b>&

100、lt;/p><p>  g2d.setColor(Color.red); </p><p><b>  } else </b></p><p><b>  { </b></p><p>  g2d.setColor(Color.black); </p><p><b

101、>  } </b></p><p>  // g2d.setFont(new Font("SAN_SERIF",Font.BOLD,15)); </p><p><b>  g2d </b></p><p>  .drawString(String.valueOf(i / 30), </p&

102、gt;<p>  (int) (ClockCenter.centerX + R </p><p>  * Math.cos((double) i / 180 * pi - pi </p><p>  / 2)) - 3, </p><p>  (int) (ClockCenter.centerX + R </p><p>

103、;  * Math.sin((double) i / 180 * pi - pi </p><p>  / 2)) + 5); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  // 畫指針 </b>&

104、lt;/p><p>  g2d.setColor(Color.red); </p><p>  g2d.drawLine(ClockCenter.centerX, ClockCenter.centerY, </p><p>  (int) (ClockCenter.centerX + (R - 10) </p><p>  * Math.c

105、os((double) sec / 180 * pi - pi / 2)), </p><p>  (int) (ClockCenter.centerX + (R - 10) </p><p>  * Math.sin((double) sec / 180 * pi - pi / 2))); </p><p>  g2d.setColor(Color.blue

106、); </p><p>  g2d.drawLine(ClockCenter.centerX, ClockCenter.centerY, </p><p>  (int) (ClockCenter.centerX + (R - 20) </p><p>  * Math.cos((double) min / 180 * pi - pi / 2)), <

107、/p><p>  (int) (ClockCenter.centerX + (R - 20) </p><p>  * Math.sin((double) min / 180 * pi - pi / 2))); </p><p>  g2d.setColor(Color.black); </p><p>  g2d.drawLine(Clo

108、ckCenter.centerX, ClockCenter.centerY, </p><p>  (int) (ClockCenter.centerX + (R - 30) </p><p>  * Math.cos((double) hour / 180 * pi - pi / 2)), </p><p>  (int) (ClockCenter.cent

109、erX + (R - 30) </p><p>  * Math.sin((double) hour / 180 * pi - pi / 2))); </p><p><b>  } </b></p><p>  class myActionListener implements ActionListener //畫數(shù)字鐘</

110、p><p><b>  { </b></p><p>  @SuppressWarnings("deprecation") </p><p>  public void actionPerformed(ActionEvent e) </p><p><b>  { </b>&

111、lt;/p><p>  if (e.getSource() == timer) </p><p><b>  { </b></p><p>  GregorianCalendar date = new GregorianCalendar(); </p><p>  hour = date.getTime().getHo

112、urs(); </p><p>  if (hour > 12) </p><p><b>  { </b></p><p>  hour = hour - 12; </p><p><b>  } </b></p><p>  hour = hour * 3

113、0; </p><p>  min = date.getTime().getMinutes(); </p><p>  min = min * 6; </p><p>  sec = date.getTime().getSeconds(); </p><p>  sec = sec * 6; </p><p&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論