版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計--學(xué)生成績管理系統(tǒng)
- java課程設(shè)計--學(xué)生成績管理系統(tǒng)
- java課程設(shè)計----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)java課程設(shè)計
- java學(xué)生成績管理系統(tǒng) 課程設(shè)計
- java學(xué)生成績管理系統(tǒng)課程設(shè)計
- java課程設(shè)計報告---學(xué)生成績管理系統(tǒng)
- java學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- java學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- java學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- 課程設(shè)計--基于java的學(xué)生成績管理系統(tǒng)
- 程序設(shè)計課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c語言程序課程設(shè)計--學(xué)生成績管理系統(tǒng)設(shè)計
- c語言程序課程設(shè)計----學(xué)生成績管理系統(tǒng)
- java學(xué)生管理系統(tǒng)課程設(shè)計--學(xué)生成績管理信息系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 課程設(shè)計——學(xué)生成績管理系統(tǒng)
- 課程設(shè)計---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- c語言程序設(shè)計課程設(shè)計---學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論