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

下載本文檔

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

文檔簡介

1、<p>  Java程序設(shè)計課程設(shè)計報告</p><p>  ( 2010 -- 2011 年度第 1 學(xué)期)</p><p><b>  日歷記事本</b></p><p><b>  目 錄</b></p><p><b>  目 錄2</b><

2、;/p><p>  1 概 述1</p><p>  1.1 課程設(shè)計目的1</p><p>  1.2 課程設(shè)計內(nèi)容1</p><p>  2 系統(tǒng)需求分析1</p><p>  2.1 系統(tǒng)目標(biāo)1</p><p>  2.2 主體功能1</p><p>

3、  2.3 開發(fā)環(huán)境1</p><p><b>  3系統(tǒng)概要設(shè)計1</b></p><p>  3.1 系統(tǒng)的功能模塊劃分與系統(tǒng)流程圖1</p><p><b>  4系統(tǒng)詳細設(shè)計2</b></p><p><b>  5 測試4</b></p>&l

4、t;p>  5.1 測試方案4</p><p>  5.2 測試結(jié)果4</p><p><b>  6 小結(jié)6</b></p><p><b>  參考文獻8</b></p><p><b>  附 錄9</b></p><p> 

5、 附錄1 源程序清單9</p><p>  學(xué)生成績管理系統(tǒng)的設(shè)計</p><p>  1 概 述 </p><p>  1.1 課程設(shè)計目的</p><p>  鞏固和提高java編程技術(shù)。</p><p>  培養(yǎng)掌握成學(xué)設(shè)計的基本思路和方法。</p><p>  加強

6、研發(fā)、調(diào)試程序的能力。</p><p>  增強分析、解決問題的能力。</p><p>  提高科技論文寫作能力。</p><p>  1.2 課程設(shè)計內(nèi)容</p><p>  設(shè)計GUI界面的日歷記事本。系統(tǒng)將日歷、記事本功能結(jié)合在一起,用戶可以方便地在任何日期記錄下有關(guān)內(nèi)容或查看某個日期的記錄內(nèi)容。</p><p>

7、;<b>  2 系統(tǒng)需求分析</b></p><p><b>  2.1 系統(tǒng)目標(biāo)</b></p><p>  1. 系統(tǒng)界面的左側(cè)是日歷。該日歷可以按年份前后翻動,鼠標(biāo)單擊“上年”按鈕時,當(dāng)前的日歷的年份減一;當(dāng)鼠標(biāo)左鍵單擊“下年”按鈕,當(dāng)前日歷年份加一。</p><p>  2. 該日歷也可以在某年內(nèi)按月前后翻動,鼠

8、標(biāo)單擊“上月”按鈕時,當(dāng)前的日歷的月份減一;當(dāng)鼠標(biāo)左鍵單擊“下月”按鈕,當(dāng)前日歷月份加一。</p><p>  3. 使用鼠標(biāo)左鍵單擊選定的日期,如已有記錄內(nèi)容,系統(tǒng)將彈出對話框提示該日已有記錄內(nèi)容,并詢問用戶是否用記事本顯示該內(nèi)容。</p><p><b>  2.2 主體功能</b></p><p>  用戶可以方便地在任何日期記錄下有關(guān)內(nèi)

9、容或查看某個日期的記錄內(nèi)容。</p><p>  通過按按鈕“上年”和“下年”對年份進行翻頁。通過按按鈕“上月”和“下月”對月份進行翻頁。用戶可以通過輸入年份來查看自己的日志。</p><p><b>  2.3 開發(fā)環(huán)境</b></p><p>  Windows XP;jdk1.5.0-0-05;ultraedit開發(fā)工具</p>

10、;<p><b>  3系統(tǒng)概要設(shè)計</b></p><p>  3.1 系統(tǒng)的功能模塊劃分與系統(tǒng)流程圖</p><p>  本日歷記事本共有4個java源文件。</p><p>  CalendarPad.java</p><p>  該java文件生成的類負責(zé)創(chuàng)建本日歷記事本程序主窗口。該類含有main

11、方法,程序從該類開始執(zhí)行。</p><p><b>  Year.java</b></p><p>  該文件負責(zé)創(chuàng)建管理年份的對象。</p><p>  Month.java</p><p>  該文件負責(zé)創(chuàng)建管理月份的類對象。</p><p>  NotePad.java</p>

12、<p>  該文件負責(zé)創(chuàng)建記事本。</p><p><b>  4系統(tǒng)詳細設(shè)計</b></p><p>  主類CanlendarPad</p><p><b>  1.成員變量</b></p><p><b>  2.方法</b></p><p

13、><b>  記事本Note</b></p><p><b>  1、成員變量</b></p><p><b>  2、方法</b></p><p><b>  年Year</b></p><p><b>  1.成員變量</b>

14、;</p><p><b>  2.方法</b></p><p><b>  月Month</b></p><p><b>  1.成員變量</b></p><p><b>  2.方法</b></p><p><b> 

15、 5 測試</b></p><p><b>  5.1 測試方案</b></p><p>  1.打開主界面,鼠標(biāo)左鍵點擊,查看日歷界面。</p><p>  2.選定一個日期寫日志。</p><p>  3.對日歷添加,刪除日志。</p><p>  4.修改年份,查看一些日志。&l

16、t;/p><p><b>  5.2 測試結(jié)果</b></p><p>  1.打開主界面,鼠標(biāo)左鍵點擊,查看日歷界面。如圖</p><p>  2.下圖為選擇的在2011年1月1日寫的日志:</p><p>  3.添加刪除日志,如圖:</p><p><b>  添加日志:</b&

17、gt;</p><p><b>  刪除日志:</b></p><p>  4.修改年份,查看日志:</p><p><b>  6 小結(jié)</b></p><p>  經(jīng)過幾天的努力,基本上完成了我的java課程設(shè)計,也基本上實現(xiàn)了我在需求分析時所預(yù)料的功能。通過這次的課程設(shè)計,將我從課本上學(xué)到的理

18、論知識用到了實踐上,從而進一步鞏固和豐富了我所學(xué)過的知識,也讓我更深層次的認識了java及其功能的強大。同時做這門課程設(shè)計也進一步加強了我的動手能力。為了完成好這次課程設(shè)計,做了較多的準(zhǔn)備,上網(wǎng)查閱了好多的相關(guān)資料,也翻閱了許多的相關(guān)的書籍。在這些過程中也無形的鍛煉了我的思維分析、遇到問題及想方設(shè)法通過各種偶那個途徑解決問題的能力。</p><p>  從理論到實踐,在整整幾天的日子里,可以說得是苦多于甜,但是可

19、以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所

20、學(xué)過的知識理解得不夠深刻,掌握得不夠牢固 ,所以我們一定要好好學(xué)習(xí)理論知識,為以后的實踐打下良好的基礎(chǔ)。</p><p>  通過這次課程設(shè)計, 我收獲的不僅僅是課本上的知識的實際應(yīng)用,還有編程的基本習(xí)慣和開發(fā)系統(tǒng)是應(yīng)注意的流程。</p><p><b>  參考文獻</b></p><p>  [1]耿祥義,張躍平.  Java2實

21、用教程(第三版)[M] . 北京:清華大學(xué)出版社, 2006 [2]耿祥義.  Java課程設(shè)計(第三版)[M] . 北京:清華大學(xué)出版社, 2004</p><p>  [3]張躍平.Java2實用教程實驗指導(dǎo)與習(xí)題解答(第三版)[M]. 北京:清華大學(xué)出版社, 2004</p><p><b>  ……</b></p><p>

22、<b>  附 錄</b></p><p><b>  附錄1 源程序清單</b></p><p>  日歷記事本的源程序代碼</p><p>  主類 CalendarPad:</p><p>  CalendarPad。Java</p><p>  import j

23、ava.util.Calendar;</p><p>  import javax.swing.*;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.io.*;</p><p>  import

24、java.util.Hashtable;</p><p>  public class CalendarPad extends JFrame implements MouseListener</p><p><b>  {</b></p><p>  int year,month,day;</p><p>  Hasht

25、able hashtable; </p><p>  File file; </p><p>  JTextField showDay[]; </p><p>  JLabel title[]; </p><p> 

26、 Calendar 日歷;</p><p><b>  int 星期幾; </b></p><p>  NotePad notepad=null; </p><p>  Month 負責(zé)改變月;</p><p>  Year 負責(zé)改變年;</p><p>  String

27、 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};</p><p>  JPanel leftPanel,rightPanel; </p><p>  public CalendarPad(in

28、t year,int month,int day)</p><p><b>  { </b></p><p>  leftPanel=new JPanel();</p><p>  JPanel leftCenter=new JPanel();</p><p>  JPanel leftNorth=new JPanel(

29、);</p><p>  leftCenter.setLayout(new GridLayout(7,7)); </p><p>  rightPanel=new JPanel();</p><p>  this.year=year;</p><p>  this.month=month;</p><p>  th

30、is.day=day;</p><p>  負責(zé)改變年=new Year(this);</p><p>  負責(zé)改變年.setYear(year);</p><p>  負責(zé)改變月=new Month(this);</p><p>  負責(zé)改變月.setMonth(month);</p><p>  title=new

31、 JLabel[7]; </p><p>  showDay=new JTextField[42]; </p><p>  for(int j=0;j<7;j++) </p><p><b>  {</b>&

32、lt;/p><p>  title[j]=new JLabel();</p><p>  title[j].setText(星期[j]);</p><p>  title[j].setBorder(BorderFactory.createRaisedBevelBorder());</p><p>  leftCenter.add(title[j]

33、);</p><p><b>  } </b></p><p>  title[0].setForeground(Color.red);</p><p>  title[6].setForeground(Color.blue);</p><p>  for(int i=0;i<42;i++)

34、 </p><p><b>  {</b></p><p>  showDay[i]=new JTextField();</p><p>  showDay[i].addMouseListener(this);</p><p>  showDay[i].setEditable(false);<

35、/p><p>  leftCenter.add(showDay[i]);</p><p><b>  }</b></p><p>  日歷=Calendar.getInstance();</p><p>  Box box=Box.createHorizontalBox(); </p><

36、;p>  box.add(負責(zé)改變年);</p><p>  box.add(負責(zé)改變月);</p><p>  leftNorth.add(box);</p><p>  leftPanel.setLayout(new BorderLayout());</p><p>  leftPanel.add(leftNorth,BorderL

37、ayout.NORTH);</p><p>  leftPanel.add(leftCenter,BorderLayout.CENTER);</p><p>  leftPanel.add(new Label("請在年份輸入框輸入所查年份(負數(shù)表示公元前),并回車確定"),</p><p>  BorderLayout.SOUTH) ;</

38、p><p>  leftPanel.validate();</p><p>  Container con=getContentPane();</p><p>  JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,</p><p>  leftPanel,rightPanel)

39、;</p><p>  con.add(split,BorderLayout.CENTER);</p><p>  con.validate();</p><p>  hashtable=new Hashtable();</p><p>  file=new File("日歷記事本.txt");</p>&l

40、t;p>  if(!file.exists())</p><p><b>  {</b></p><p><b>  try{</b></p><p>  FileOutputStream out=new FileOutputStream(file);</p><p>  ObjectOutp

41、utStream objectOut=new ObjectOutputStream(out);</p><p>  objectOut.writeObject(hashtable);</p><p>  objectOut.close();</p><p>  out.close();</p><p><b>  }</b&g

42、t;</p><p>  catch(IOException e)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  notepad=new NotePad(th

43、is); </p><p>  rightPanel.add(notepad);</p><p>  設(shè)置日歷牌(year,month);</p><p>  addWindowListener(new WindowAdapter()</p><p>  { publi

44、c void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  });</b></p><

45、p>  setVisible(true);</p><p>  setBounds(100,50,524,285);</p><p>  validate();</p><p><b>  }</b></p><p>  public void 設(shè)置日歷牌(int year,int month)</p>

46、<p><b>  {</b></p><p>  日歷.set(year,month-1,1); </p><p>  星期幾=日歷.get(Calendar.DAY_OF_WEEK)-1;</p><p>  if(month==1||month==2||month==3||month==5||mon

47、th==7</p><p>  ||month==8||month==10||month==12)</p><p>  { 排列號碼(星期幾,31); </p><p><b>  }</b></p><p>  else if(month==4||month==6||month==9||month=

48、=11)</p><p>  { 排列號碼(星期幾,30);</p><p><b>  }</b></p><p>  else if(month==2)</p><p>  { if((year%4==0&&year%100!=0)||(year%400==0)) </p>&l

49、t;p>  { 排列號碼(星期幾,29);</p><p><b>  }</b></p><p><b>  else</b></p><p>  { 排列號碼(星期幾,28);</p><p><b>  }</b></p><p>&

50、lt;b>  }</b></p><p><b>  } </b></p><p>  public void 排列號碼(int 星期幾,int 月天數(shù))</p><p><b>  {</b></p><p>  for(int i=星期幾,n=1;i<星期幾+月天數(shù);i+

51、+)</p><p>  { showDay[i].setText(""+n);</p><p>  if(n==day)</p><p>  { showDay[i].setForeground(Color.green); </p><p>  showDay[i].setFont(new Font("

52、TimesRoman",Font.BOLD,20));</p><p><b>  }</b></p><p><b>  else</b></p><p>  { showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12));</p

53、><p>  showDay[i].setForeground(Color.black);</p><p><b>  }</b></p><p>  if(i%7==6)</p><p>  { showDay[i].setForeground(Color.blue); </p><p>&l

54、t;b>  }</b></p><p>  if(i%7==0)</p><p>  { showDay[i].setForeground(Color.red); </p><p><b>  }</b></p><p><b>  n++; </b></p>&

55、lt;p><b>  }</b></p><p>  for(int i=0;i<星期幾;i++)</p><p>  { showDay[i].setText("");</p><p><b>  }</b></p><p>  for(int i=星期幾+月天數(shù)

56、;i<42;i++)</p><p>  { showDay[i].setText("");</p><p><b>  }</b></p><p><b>  }</b></p><p>  public int getYear()</p><p&

57、gt;  { return year;</p><p><b>  } </b></p><p>  public void setYear(int y)</p><p>  { year=y;</p><p>  notepad.setYear(year);</p><p><b&

58、gt;  }</b></p><p>  public int getMonth()</p><p>  { return month;</p><p><b>  }</b></p><p>  public void setMonth(int m)</p><p>  { mo

59、nth=m;</p><p>  notepad.setMonth(month); </p><p><b>  }</b></p><p>  public int getDay()</p><p>  { return day;</p><p><b>  }</b>

60、</p><p>  public void setDay(int d)</p><p>  { day=d;</p><p>  notepad.setDay(day);</p><p><b>  }</b></p><p>  public Hashtable getHashtable(

61、)</p><p>  { return hashtable;</p><p><b>  }</b></p><p>  public File getFile()</p><p>  { return file;</p><p><b>  }</b></p

62、><p>  public void mousePressed(MouseEvent e) </p><p>  { JTextField source=(JTextField)e.getSource();</p><p><b>  try{</b></p><p>  day=Integer.p

63、arseInt(source.getText());</p><p>  notepad.setDay(day);</p><p>  notepad.設(shè)置信息條(year,month,day);</p><p>  notepad.設(shè)置文本區(qū)(null);</p><p>  notepad.獲取日志內(nèi)容(year,month,day);&

64、lt;/p><p><b>  } </b></p><p>  catch(Exception ee)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p

65、><p>  public void mouseClicked(MouseEvent e)</p><p><b>  {</b></p><p><b>  }</b></p><p>  public void mouseReleased(MouseEvent e)</p><p

66、><b>  {</b></p><p><b>  }</b></p><p>  public void mouseEntered(MouseEvent e)</p><p><b>  {</b></p><p><b>  }</b><

67、/p><p>  public void mouseExited(MouseEvent e)</p><p><b>  {</b></p><p><b>  }</b></p><p>  public static void main(String args[])</p><p

68、>  { Calendar calendar=Calendar.getInstance(); </p><p>  int y=calendar.get(Calendar.YEAR); </p><p>  int m=calendar.get(Calendar.MONTH)+1; </p><p>  int d=

69、calendar.get(Calendar.DAY_OF_MONTH);</p><p>  new CalendarPad(y,m,d);</p><p><b>  }</b></p><p><b>  } </b></p><p>  記事本 NotePad:</p><

70、;p>  NotePad.java</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.util.*;</p><p>  import javax.swing.*;</p><p>  imp

71、ort javax.swing.event.*;</p><p>  import java.io.*;</p><p>  public class NotePad extends JPanel implements ActionListener</p><p>  { JTextArea text; </p><p&

72、gt;  JButton 保存日志,刪除日志;</p><p>  Hashtable table; </p><p>  JLabel 信息條; </p><p>  int year,month,day; </p><p>  File file;

73、 </p><p>  CalendarPad calendar;</p><p>  public NotePad(CalendarPad calendar)</p><p><b>  {</b></p><p>  this.calendar=calendar;</p><p&g

74、t;  year=calendar.getYear();</p><p>  month=calendar.getMonth();</p><p>  day=calendar.getDay();;</p><p>  table=calendar.getHashtable();</p><p>  file=calendar.getFile

75、();</p><p>  信息條=new JLabel(""+year+"年"+month+"月"+day+"日",JLabel.CENTER);</p><p>  信息條.setFont(new Font("TimesRoman",Font.BOLD,16));</p>

76、<p>  信息條.setForeground(Color.blue);</p><p>  text=new JTextArea(10,10);</p><p>  保存日志=new JButton("保存日志") ;</p><p>  刪除日志=new JButton("刪除日志") ;</p>

77、<p>  保存日志.addActionListener(this);</p><p>  刪除日志.addActionListener(this);</p><p>  setLayout(new BorderLayout());</p><p>  JPanel pSouth=new JPanel(); </p><p&

78、gt;  add(信息條,BorderLayout.NORTH);</p><p>  pSouth.add(保存日志);</p><p>  pSouth.add(刪除日志);</p><p>  add(pSouth,BorderLayout.SOUTH);</p><p>  add(new JScrollPane(text),Bord

79、erLayout.CENTER);</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  if(e.getSource()==保存日志)</p

80、><p>  { 保存日志(year,month,day);</p><p><b>  }</b></p><p>  else if(e.getSource()==刪除日志)</p><p>  { 刪除日志(year,month,day);</p><p><b>  }<

81、/b></p><p><b>  }</b></p><p>  public void setYear(int year)</p><p>  { this.year=year;</p><p><b>  }</b></p><p>  public int

82、getYear()</p><p>  { return year;</p><p><b>  }</b></p><p>  public void setMonth(int month)</p><p>  { this.month=month;</p><p><b>

83、  } </b></p><p>  public int getMonth()</p><p>  { return month;</p><p><b>  } </b></p><p>  public void setDay(int day)</p><p>  { t

84、his.day=day;</p><p><b>  }</b></p><p>  public int getDay()</p><p>  { return day;</p><p><b>  }</b></p><p>  public void 設(shè)置信息條(i

85、nt year,int month,int day)</p><p>  { 信息條.setText(""+year+"年"+month+"月"+day+"日");</p><p><b>  }</b></p><p>  public void 設(shè)置文本區(qū)(

86、String s)</p><p>  { text.setText(s);</p><p><b>  }</b></p><p>  public void 獲取日志內(nèi)容(int year,int month,int day)</p><p>  { String key=""+year+&

87、quot;"+month+""+day;</p><p><b>  try</b></p><p><b>  {</b></p><p>  FileInputStream inOne=new FileInputStream(file);</p><p>  O

88、bjectInputStream inTwo=new ObjectInputStream(inOne);</p><p>  table=(Hashtable)inTwo.readObject(); </p><p>  inOne.close();</p><p>  inTwo.close();</p><p><b

89、>  }</b></p><p>  catch(Exception ee)</p><p><b>  {</b></p><p><b>  }</b></p><p>  if(table.containsKey(key))</p><p>  {

90、String m=""+year+"年"+month+"月"+day+"這一天有日志記載,想看嗎?";</p><p>  int ok=JOptionPane.showConfirmDialog(this,m,"詢問",JOptionPane.YES_NO_OPTION,</p><p>

91、  JOptionPane.QUESTION_MESSAGE);</p><p>  if(ok==JOptionPane.YES_OPTION)</p><p>  { text.setText((String)table.get(key));</p><p><b>  }</b></p><p><b>

92、;  else</b></p><p>  { text.setText(""); </p><p><b>  }</b></p><p><b>  } </b></p><p><b>  else</b></p><

93、;p>  { text.setText("無記錄");</p><p><b>  } </b></p><p><b>  }</b></p><p>  public void 保存日志(int year,int month,int day)</p><p>  {

94、 String 日志內(nèi)容=text.getText();</p><p>  String key=""+year+""+month+""+day;</p><p>  String m=""+year+"年"+month+"月"+day+"保存日志嗎?&

95、quot;;</p><p>  int ok=JOptionPane.showConfirmDialog(this,m,"詢問",JOptionPane.YES_NO_OPTION,</p><p>  JOptionPane.QUESTION_MESSAGE);</p><p>  if(ok==JOptionPane.YES_OPTION)

96、</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  FileInputStream inOne=new FileInputStream(file);</p><

97、p>  ObjectInputStream inTwo=new ObjectInputStream(inOne);</p><p>  table=(Hashtable)inTwo.readObject();</p><p>  inOne.close();</p><p>  inTwo.close();</p><p>  tabl

98、e.put(key,日志內(nèi)容); </p><p>  FileOutputStream out=new FileOutputStream(file);</p><p>  ObjectOutputStream objectOut=new ObjectOutputStream(out);</p><p&g

99、t;  objectOut.writeObject(table);</p><p>  objectOut.close();</p><p>  out.close();</p><p><b>  }</b></p><p>  catch(Exception ee)</p><p><b

100、>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public void 刪除日志(int year,int month,int day)</p&

101、gt;<p>  { String key=""+year+""+month+""+day;</p><p>  if(table.containsKey(key))</p><p>  { String m="刪除"+year+"年"+month+"月&q

102、uot;+day+"日的日志嗎?";</p><p>  int ok=JOptionPane.showConfirmDialog(this,m,"詢問",JOptionPane.YES_NO_OPTION,</p><p>  JOptionPane.QUESTION_MESSAGE);</p><p>  if(ok==J

103、OptionPane.YES_OPTION)</p><p><b>  { </b></p><p><b>  try</b></p><p><b>  {</b></p><p>  FileInputStream inOne=new FileInputStream

104、(file);</p><p>  ObjectInputStream inTwo=new ObjectInputStream(inOne);</p><p>  table=(Hashtable)inTwo.readObject();</p><p>  inOne.close();</p><p>  inTwo.close();<

105、/p><p>  table.remove(key); </p><p>  FileOutputStream out=new FileOutputStream(file);</p><p>  ObjectOutputStream objectOut=new ObjectOutputStre

106、am(out);</p><p>  objectOut.writeObject(table);</p><p>  objectOut.close();</p><p>  out.close();</p><p>  text.setText(null);</p><p><b>  }</b>

107、;</p><p>  catch(Exception ee)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></

108、p><p><b>  else</b></p><p>  { String m=""+year+"年"+month+"月"+day+"無日志記錄";</p><p>  JOptionPane.showMessageDialog(this,m,"提示&q

109、uot;,JOptionPane.WARNING_MESSAGE);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  年 Year:</b></p&g

110、t;<p><b>  Year.java</b></p><p>  import javax.swing.*;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  public class Year exte

111、nds Box implements ActionListener</p><p>  { int year; </p><p>  JTextField showYear=null; </p><p>  JButton 明年,去年;</p><p>  Calend

112、arPad 日歷;</p><p>  public Year(CalendarPad 日歷)</p><p>  { super(BoxLayout.X_AXIS); </p><p>  showYear=new JTextField(4);</p><p>  showYear.setForeground(Color.b

113、lue);</p><p>  showYear.setFont(new Font("TimesRomn",Font.BOLD,14)); </p><p>  this.日歷=日歷;</p><p>  year=日歷.getYear();</p><p>  明年=new JButton("下年")

114、;</p><p>  去年=new JButton("上年");</p><p><b>  add(去年);</b></p><p>  add(showYear);</p><p><b>  add(明年);</b></p><p>  showY

115、ear.addActionListener(this);</p><p>  去年.addActionListener(this);</p><p>  明年.addActionListener(this);</p><p><b>  }</b></p><p>  public void setYear(int ye

116、ar)</p><p>  { this.year=year;</p><p>  showYear.setText(""+year);</p><p><b>  }</b></p><p>  public int getYear()</p><p>  { retur

117、n year;</p><p><b>  } </b></p><p>  public void actionPerformed(ActionEvent e)</p><p>  { if(e.getSource()==去年)</p><p>  { year=year-1;</p><p&

118、gt;  showYear.setText(""+year);</p><p>  日歷.setYear(year);</p><p>  日歷.設(shè)置日歷牌(year,日歷.getMonth());</p><p><b>  }</b></p><p>  else if(e.getSource()

119、==明年)</p><p>  { year=year+1;</p><p>  showYear.setText(""+year);</p><p>  日歷.setYear(year);</p><p>  日歷.設(shè)置日歷牌(year,日歷.getMonth());</p><p><b&

120、gt;  }</b></p><p>  else if(e.getSource()==showYear)</p><p><b>  { try</b></p><p>  { year=Integer.parseInt(showYear.getText());</p><p>  showYear.set

121、Text(""+year);</p><p>  日歷.setYear(year);</p><p>  日歷.設(shè)置日歷牌(year,日歷.getMonth());</p><p><b>  }</b></p><p>  catch(NumberFormatException ee)</p&

122、gt;<p>  { showYear.setText(""+year);</p><p>  日歷.setYear(year);</p><p>  日歷.設(shè)置日歷牌(year,日歷.getMonth());</p><p><b>  }</b></p><p><b> 

123、 }</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  月 Month:</b></p><p>  Month.java</p><p>  import javax.

124、swing.*;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  public class Month extends Box implements ActionListener</p><p>  { int month;

125、 </p><p>  JTextField showMonth=null; </p><p>  JButton 下月,上月;</p><p>  CalendarPad 日歷;</p><p>  public Month(CalendarPad 日歷)</p><p

126、><b>  { </b></p><p>  super(BoxLayout.X_AXIS); </p><p>  this.日歷=日歷;</p><p>  showMonth=new JTextField(2);</p><p>  month=日歷.getMonth();</p>

127、;<p>  showMonth.setEditable(false);</p><p>  showMonth.setForeground(Color.blue);</p><p>  showMonth.setFont(new Font("TimesRomn",Font.BOLD,16)); </p><p>  下月=new

128、JButton("下月");</p><p>  上月=new JButton("上月");</p><p><b>  add(上月);</b></p><p>  add(showMonth);</p><p><b>  add(下月);</b><

129、/p><p>  上月.addActionListener(this);</p><p>  下月.addActionListener(this);</p><p>  showMonth.setText(""+month);</p><p><b>  }</b></p><p>

130、;  public void setMonth(int month)</p><p>  { if(month<=12&&month>=1)</p><p>  { this.month=month;</p><p><b>  }</b></p><p><b>  else&

131、lt;/b></p><p>  { this.month=1;</p><p><b>  }</b></p><p>  showMonth.setText(""+month);</p><p><b>  }</b></p><p>  pu

132、blic int getMonth()</p><p>  { return month;</p><p><b>  } </b></p><p>  public void actionPerformed(ActionEvent e)</p><p>  { if(e.getSource()==上月)</

133、p><p>  { if(month>=2)</p><p>  { month=month-1;</p><p>  日歷.setMonth(month);</p><p>  日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b>  }</b></p&

134、gt;<p>  else if(month==1)</p><p>  { month=12;</p><p>  日歷.setMonth(month);</p><p>  日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b>  }</b></p><

135、;p>  showMonth.setText(""+month);</p><p><b>  }</b></p><p>  else if(e.getSource()==下月)</p><p>  { if(month<12)</p><p>  { month=month+1;&

136、lt;/p><p>  日歷.setMonth(month);</p><p>  日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b>  }</b></p><p>  else if(month==12)</p><p>  { month=1;</p>

137、;<p>  日歷.setMonth(month);</p><p>  日歷.設(shè)置日歷牌(日歷.getYear(),month);</p><p><b>  }</b></p><p>  showMonth.setText(""+month);</p><p><b> 

溫馨提示

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

評論

0/150

提交評論