版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 接口技術(shù)課程設(shè)計(jì)(VHDL/JAVA)</p><p><b> 萬(wàn)年歷</b></p><p> 院(系)別 信息科學(xué)與電氣工程學(xué)院 </p><p> 目 錄</p><p><b> 前言3</b></p><p><
2、b> 1需求分析3</b></p><p><b> 1.1需求分析3</b></p><p><b> 1.2功能設(shè)計(jì)3</b></p><p><b> 2.概要設(shè)計(jì)3</b></p><p> 2.1程序設(shè)計(jì)思路3</p>
3、<p> 2.2程序運(yùn)行界面4</p><p><b> 2.3流程圖5</b></p><p> 3.各模塊的功能及程序說(shuō)明6</p><p> 3.1.初始化組件6</p><p> 3.2.初始化數(shù)據(jù)6</p><p> 3.3.繪制程序界面7</
4、p><p><b> 4.測(cè)試分析8</b></p><p> 5.源程序清單10</p><p> 6.課程設(shè)計(jì)體會(huì)18</p><p><b> 參考文獻(xiàn)19</b></p><p><b> 摘 要</b></p>&l
5、t;p> 我們的實(shí)踐的能力,為提高知識(shí),可以運(yùn)用了再創(chuàng)造,學(xué)校在2周安排,我們發(fā)出java課程設(shè)計(jì)進(jìn)行實(shí)習(xí)。</p><p> 此文件的詳細(xì)說(shuō)明java的環(huán)境下,一個(gè)軟件設(shè)計(jì)的過(guò)程,本軟體是各種數(shù)據(jù)的個(gè)數(shù)統(tǒng)計(jì)。</p><p> 這種軟件的功能,用戶可一段文字輸入后,軟件是文字中的各類的數(shù)據(jù)的成績(jī)?yōu)橛⒄Z(yǔ)和數(shù)據(jù)的數(shù)量和數(shù)字?jǐn)?shù)據(jù)的數(shù)量、空白的數(shù)據(jù)的數(shù)量和它的類型的數(shù)據(jù)的數(shù)量,然后,
6、他將顯示出來(lái)。</p><p> 以下,課程設(shè)計(jì)通過(guò)解釋數(shù)據(jù)是軟件的統(tǒng)計(jì),計(jì)劃于解釋了調(diào)整,并將負(fù)責(zé)等方面,還詳細(xì)介紹了此項(xiàng)技術(shù)的制作過(guò)程說(shuō)明了作用,以及各種無(wú)法實(shí)行操作。</p><p> 關(guān)鍵字:萬(wàn)年歷,java,頭文件</p><p><b> 前言</b></p><p> Java的前身是Oak,它一開(kāi)
7、始只是被應(yīng)用于消費(fèi)性電子產(chǎn)品中。后來(lái)它的開(kāi)發(fā)者們發(fā)現(xiàn)它還可以被用于更大范圍的Internet上。1995年,Java語(yǔ)言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標(biāo)志Java2的誕生。十多年來(lái),Java編程語(yǔ)言及平臺(tái)成功地運(yùn)用在網(wǎng)絡(luò)計(jì)算及移動(dòng)等各個(gè)領(lǐng)域。Java的體系結(jié)構(gòu)由Java語(yǔ)言、Java class、Java API、Java虛擬機(jī)組成。它具有簡(jiǎn)單、面向?qū)ο?、健壯、安全、結(jié)構(gòu)中立、
8、可移植和高效能等眾多優(yōu)點(diǎn)。Java支持多線程編程,Java運(yùn)行時(shí)系統(tǒng)在多線程同步方面具有成熟的解決方案。Java的平臺(tái)標(biāo)準(zhǔn)有Java ME,Java SE和Java EE。Java發(fā)展到今天,它的卓越成就及在業(yè)界的地位毋庸置疑。目前在眾多的支持Java的開(kāi)發(fā)工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Developm
9、ent Kit 簡(jiǎn)稱JDK是大多開(kāi)發(fā)工具的基礎(chǔ)。以上的每種開(kāi)發(fā)工具都有優(yōu)缺點(diǎn),對(duì)于開(kāi)發(fā)者來(lái)</p><p><b> 1需求分析</b></p><p><b> 1.1需求分析</b></p><p> 本程序的要求為:1.使用圖形用戶界面;2.本程序能夠?qū)崿F(xiàn)日期與星期的查詢。</p><p&
10、gt;<b> 1.2功能設(shè)計(jì)</b></p><p> 本程序要構(gòu)建的萬(wàn)年歷程序,其功能有以下幾個(gè)方面:</p><p> (1)通過(guò)網(wǎng)頁(yè)形式運(yùn)行,實(shí)現(xiàn)圖形界面。</p><p> ?。?)能以月歷形式顯示日期與星期。</p><p> ?。?)支持用戶自己輸入年份,并提供月份的下拉形式菜單來(lái)選擇月份。</
11、p><p> ?。?)通過(guò)點(diǎn)擊“更新”來(lái)刷新日歷。</p><p><b> 2.概要設(shè)計(jì)</b></p><p><b> 2.1程序設(shè)計(jì)思路</b></p><p> 1. 總天數(shù)的算法:首先用if語(yǔ)句判斷定義年到輸入年之間每一年是否為閏年,是閏年,該年的總天數(shù)為366,否則,為365。然后判
12、斷輸入的年是否為定義年,若是,令總天數(shù)S=1,否則,用累加法計(jì)算出定義年到輸入年之間的總天數(shù),再把輸入年的一月到要輸出的月份之間的天數(shù)累加起來(lái),若該月是閏年中的月份并且該月還大于二月,再使總天數(shù)加1,否則,不加,既算出從定義年一月一日到輸出年的該月一日的總天數(shù)。 2. 輸出月份第一天為星期幾的算法:使總天數(shù)除以7取余加2得幾既為星期幾,若是7,則為星期日。</p><p
13、> 3. 算出輸出月份第一天為星期幾的算法:算出輸出月份第一天為星期幾后,把該日期以前的位置用空格補(bǔ)上,并總該日起一次輸出天數(shù)直到月底,該月中的天數(shù)加上該月一日為星期幾的數(shù)字再除以7得0換行,即可完整的輸出該月的日歷。</p><p> 4. 如果年份小于1582年則程序不予判斷。</p><p><b> 2.2程序運(yùn)行界面</b></p>
14、<p><b> 2.3流程圖</b></p><p> 3.各模塊的功能及程序說(shuō)明</p><p><b> 3.1.初始化組件</b></p><p> import java.awt.*;</p><p> import java.awt.event.ActionEven
15、t;</p><p> import java.awt.event.ActionListener;</p><p> import java.awt.event.MouseEvent;</p><p> import java.awt.event.MouseListener;</p><p> import java.io.Buffe
16、redReader;</p><p> import java.io.BufferedWriter;</p><p> import java.io.File;</p><p> import java.io.FileInputStream;</p><p> import java.io.FileNotFoundException;
17、</p><p> import java.io.FileOutputStream;</p><p> import java.io.IOException;</p><p> import java.io.InputStreamReader;</p><p> import java.io.OutputStreamWriter;&l
18、t;/p><p> //import java.sql.Date;</p><p> import java.text.DateFormat;</p><p> import java.text.SimpleDateFormat;</p><p> import java.util.Calendar;</p><p&g
19、t; import java.util.Date;</p><p> import javax.swing.JButton;</p><p> import javax.swing.JDialog;</p><p> import javax.swing.JFrame;</p><p> import javax.swing.JL
20、abel;</p><p> import javax.swing.JOptionPane;</p><p> import javax.swing.JPanel;</p><p> import javax.swing.JScrollPane;</p><p> import javax.swing.JTable;</p>
21、;<p> import javax.swing.JTextArea;</p><p> import javax.swing.JTextField;</p><p> import javax.swing.table.DefaultTableModel;</p><p><b> 3.2.初始化數(shù)據(jù)</b></p&
22、gt;<p> public class MyCalendar extends JFrame implements ActionListener, MouseListener //實(shí)現(xiàn)監(jiān)聽(tīng)器接口</p><p><b> {</b></p><p> private Calendar cld = Calendar.getInstance()
23、;</p><p> private String [] astr = {"Sunday","Monday", "Tuesday", "wednesday", "Thursday", "Friday", "Saturday"};</p><p>
24、private DefaultTableModel dtm = new DefaultTableModel(null,astr);</p><p> private JTable table = new JTable(dtm); //裝日期的表格</p><p> private JScrollPane sp = new JScrollPane(tab
25、le);</p><p> private JButton bLastYear = new JButton("last year");</p><p> private JButton bNextYear = new JButton("next year");</p><p> private JButton bLast
26、Month = new JButton("last month");</p><p> private JButton bNextMonth = new JButton("next month");</p><p> private JTextField jtfYear = new JTextField(4);//jtfYear年份顯示和輸入文本
27、框</p><p> private JTextField jtfMonth = new JTextField(4);//jtfMonth月份顯示文本框</p><p> private JPanel p1 = new JPanel(); //裝入控制日期按鈕的模塊</p><p> //private JPanel p2 = ne
28、w JPanel();</p><p> private JPanel p3 = new JPanel(new BorderLayout());</p><p> private JPanel p4 = new JPanel(new GridLayout(2,1));</p><p> private JPanel p5 = new JPanel(new Bo
29、rderLayout());</p><p> // private JTextArea jta = new JTextArea(); //jta--JTextArea</p><p> private JLabel l = new JLabel("提示:可向年(月)份文本框中鍵入您要查找的年份,以提高查詢效率");</p>
30、<p> private JLabel lt = new JLabel();</p><p> private JLabel ld = new JLabel();</p><p> private int lastTime;</p><p> 3.3.繪制程序界面</p><p> public MyCalendar()
31、</p><p><b> {</b></p><p> super("MyCalendar"); //框架命名</p><p> this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口關(guān)閉函數(shù)</p><p> this.getCon
32、tentPane().setLayout(new BorderLayout(10, 0));</p><p> jta.setLineWrap(true);</p><p> table.setGridColor(Color.GRAY); //星期之間的網(wǎng)格線是灰色的</p><p> table.setColumnSelectionAllowed(tr
33、ue);</p><p> table.setSelectionBackground(Color.BLACK);//當(dāng)選定某一天時(shí)這一天背景黑色</p><p> table.setSelectionForeground(Color.GREEN);//選定的日期字體是綠色的</p><p> table.setBackground(new Color(184,
34、207,229));//日期顯示表格顏色淺藍(lán)色</p><p> table.setFont(new Font("黑體",Font.BOLD,24));//日期數(shù)字字體格式</p><p> table.setRowHeight(30);//表格的高度</p><p> table.addMouseListener(this);
35、 //鼠標(biāo)監(jiān)聽(tīng)器</p><p> jtfYear.addActionListener(this);//可輸入年份的文本框</p><p> //為各個(gè)按鈕添加監(jiān)聽(tīng)函數(shù)</p><p> bAdd.addActionListener(this);</p><p> bDel.addActionListener(this);
36、</p><p> bLastYear.addActionListener(this);</p><p> bNextYear.addActionListener(this);</p><p> bLastMonth.addActionListener(this);</p><p> bNextMonth.addActionListe
37、ner(this);</p><p> //將按鈕添加到Jpanel上</p><p> p1.add(bLastYear); </p><p> p1.add(jtfYear);//年份輸入文本框 </p><p> p1.add(bNextYear);</p><p> p1.add(bLast
38、Month);</p><p> p1.add(jtfMonth);</p><p> p1.add(bNextMonth);</p><p> p2.add(bAdd);</p><p> p2.add(bDel);</p><p> p3.add(jsp, BorderLayout.CENTER);
39、 //JSP????????</p><p> p3.add(p2, BorderLayout.SOUTH);</p><p> p3.add(ld, BorderLayout.NORTH);</p><p> p4.add(l);</p><p> p4.add(lt);</p&
40、gt;<p> p5.add(p4, BorderLayout.SOUTH);</p><p> p5.add(sp, BorderLayout.CENTER);</p><p> p5.add(p1, BorderLayout.NORTH);</p><p> this.getContentPane().add(p5, BorderLayou
41、t.CENTER);</p><p> this.getContentPane().add(p3, BorderLayout.EAST);</p><p> String [] strDate = DateFormat.getDateInstance().format(new Date()).split("-");//獲得日期</p><p>
42、; cld.set(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1])-1, 0);</p><p> showCalendar(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1]), cld);</p><p> jtfMonth.setEditable
43、(false);//設(shè)置月份的文本框?yàn)椴豢删庉?lt;/p><p> jtfYear.setText(strDate[0]);</p><p> jtfMonth.setText(strDate[1]);</p><p> this.showTextArea(strDate[2]);</p><p> ld.setFont(new Fon
44、t("新宋體",Font.BOLD,24));</p><p> new Timer(lt).start();</p><p> this.setBounds(200,200,600,320);</p><p> this.setResizable(false);</p><p> this.setVisible(
45、true);</p><p><b> }</b></p><p><b> 4、測(cè)試分析</b></p><p><b> 5.源程序清單</b></p><p> import java.awt.*;</p><p> import jav
46、a.awt.event.ActionEvent;</p><p> import java.awt.event.ActionListener;</p><p> import java.awt.event.MouseEvent;</p><p> import java.awt.event.MouseListener;</p><p>
47、 import java.io.BufferedReader;</p><p> import java.io.BufferedWriter;</p><p> import java.io.File;</p><p> import java.io.FileInputStream;</p><p> import java.io.
48、FileNotFoundException;</p><p> import java.io.FileOutputStream;</p><p> import java.io.IOException;</p><p> import java.io.InputStreamReader;</p><p> import java.io
49、.OutputStreamWriter;</p><p> import java.text.DateFormat;</p><p> import java.text.SimpleDateFormat;</p><p> import java.util.Calendar;</p><p> import java.util.Da
50、te;</p><p> import javax.swing.AbstractButton;</p><p> import javax.swing.JButton;</p><p> import javax.swing.JDialog;</p><p> import javax.swing.JFrame;</p>
51、<p> import javax.swing.JLabel;</p><p> import javax.swing.JOptionPane;</p><p> import javax.swing.JPanel;</p><p> import javax.swing.JScrollPane;</p><p> im
52、port javax.swing.JTable;</p><p> import javax.swing.JTextArea;</p><p> import javax.swing.JTextField;</p><p> import javax.swing.table.DefaultTableModel;</p><p> pu
53、blic class MyCalendar extends JFrame implements ActionListener, MouseListener //實(shí)現(xiàn)監(jiān)聽(tīng)器接口</p><p><b> {</b></p><p> private Calendar cld = Calendar.getInstance();</p><p
54、> private String [] astr = {"Sunday","Monday", "Tuesday", "wednesday", "Thursday", "Friday", "Saturday"};</p><p> private DefaultTab
55、leModel dtm = new DefaultTableModel(null,astr);</p><p> private JTable table = new JTable(dtm); //裝日期的表格</p><p> private JScrollPane sp = new JScrollPane(table);</p>&l
56、t;p> private JButton bLastYear = new JButton("last year");</p><p> private JButton bNextYear = new JButton("next year");</p><p> private JButton bLastMonth = new JButto
57、n("last month");</p><p> private JButton bNextMonth = new JButton("next month");</p><p> private JTextField jtfYear = new JTextField(4);//jtfYear年份顯示和輸入文本框</p><p
58、> private JTextField jtfMonth = new JTextField(4);//jtfMonth月份顯示文本框</p><p> private JPanel p1 = new JPanel(); //裝入控制日期按鈕的模塊</p><p> //private JPanel p2 = new JPanel();</p&
59、gt;<p> private JPanel p3 = new JPanel(new BorderLayout());</p><p> private JPanel p4 = new JPanel(new GridLayout(2,1));</p><p> private JPanel p5 = new JPanel(new BorderLayout());<
60、/p><p> // private JTextArea jta = new JTextArea(); //jta--JTextArea</p><p> private JLabel l = new JLabel("提示:可向年(月)份文本框中鍵入您要查找的年份,以提高查詢效率");</p><p> privat
61、e JLabel lt = new JLabel();</p><p> private JLabel ld = new JLabel();</p><p> private int lastTime;</p><p> public MyCalendar()</p><p><b> {</b></p&g
62、t;<p> super("MyCalendar"); //框架命名 ;super調(diào)用父類隱藏的構(gòu)造方法title</p><p> this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口關(guān)閉函數(shù)</p><p> this.getContentPane().setLayout(new Bor
63、derLayout());</p><p> //jta.setLineWrap(true);</p><p> table.setGridColor(Color.YELLOW); //星期之間的網(wǎng)格線是黃色的</p><p> table.setColumnSelectionAllowed(true);</p><p> ta
64、ble.setSelectionBackground(Color.BLACK);//當(dāng)選定某一天時(shí)這一天背景黑色</p><p> table.setSelectionForeground(Color.RED);//選定的日期字體是紅色的</p><p> table.setBackground(new Color(120,220,160));//選定表格的背景顏色</p>
65、<p> table.setFont(new Font("黑體",Font.BOLD,24));//日期數(shù)字字體格式</p><p> table.setRowHeight(35);//表格的高度</p><p> table.addMouseListener(this); //鼠標(biāo)監(jiān)聽(tīng)器</p><p> //為各個(gè)按鈕添
66、加監(jiān)聽(tīng)函數(shù)</p><p> jtfYear.addActionListener(this);//可輸入年份的文本框</p><p> jtfMonth.addActionListener(this);</p><p> bLastYear.addActionListener(this);</p><p> bNextYear.add
67、ActionListener(this);</p><p> bLastMonth.addActionListener(this);</p><p> bNextMonth.addActionListener(this);</p><p> //將按鈕添加到Jpanel上</p><p> p1.add(bLastYear); <
68、;/p><p> p1.add(jtfYear);//年份輸入文本框 </p><p> p1.add(bNextYear);</p><p> p1.add(bLastMonth);</p><p> p1.add(jtfMonth);</p><p> p1.add(bNextMonth);<
69、/p><p> //p3.add(jta, BorderLayout.EAST); //jtextarea</p><p> //p3.add(p2, BorderLayout.CENTER);</p><p> p3.add(ld, BorderLayout.CENTER);</p><p
70、> p4.add(l);</p><p> p4.add(lt);</p><p> p5.add(p4, BorderLayout.SOUTH);</p><p> p5.add(sp, BorderLayout.CENTER);</p><p> p5.add(p1, BorderLayout.NORTH);</p&
71、gt;<p> this.getContentPane().add(p5, BorderLayout.CENTER); //this引用父類的方法</p><p> this.getContentPane().add(p3, BorderLayout.NORTH);</p><p> String [] strDate = DateFormat.getDateInst
72、ance().format(new Date()).split("-");//獲得日期</p><p> cld.set(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1])-1, 0);</p><p> showCalendar(Integer.parseInt(strDate[0]), Integ
73、er.parseInt(strDate[1]), cld);</p><p> //jtfMonth.setEditable(false);//設(shè)置月份的文本框?yàn)椴豢删庉?lt;/p><p> jtfYear.setText(strDate[0]);</p><p> jtfMonth.setText(strDate[1]);</p><p&g
74、t; this.showTextArea(strDate[2]);</p><p> ld.setFont(new Font("新宋體",Font.BOLD,24));//顯示的日期字體格式</p><p> new Timer(lt).start(); //顯示系統(tǒng)時(shí)間</p><p> this.setBounds(200,200,5
75、00,300);</p><p> this.setResizable(false);//框架尺寸不可變</p><p> this.setVisible(true);//窗口可見(jiàn)</p><p> } </p><p> public void showCalendar(int localYea
76、r, int localMonth, Calendar cld)</p><p><b> {</b></p><p> int Days = getDaysOfMonth(localYear, localMonth) + cld.get(Calendar.DAY_OF_WEEK)-1 ;</p><p> Object [] ai =
77、new Object[7];</p><p> lastTime = 0;</p><p> for (int i = cld.get(Calendar.DAY_OF_WEEK); i <= Days; i++)</p><p><b> {</b></p><p> ai[i%7] = String.va
78、lueOf(i-(cld.get(Calendar.DAY_OF_WEEK)-1));</p><p> if (i%7 == 6)</p><p><b> {</b></p><p> dtm.addRow(ai); //dtm=table</p><p> ai = new Object[7];<
79、/p><p> lastTime++; //換到下一個(gè)空表格</p><p><b> }</b></p><p><b> }</b></p><p> dtm.addRow(ai); //循環(huán)加行</p><p><b> }</b>&l
80、t;/p><p> public int getDaysOfMonth(int year, int Month) //顯示所選月份的天數(shù)</p><p><b> {</b></p><p> if(Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 ||
81、Month == 10 || Month == 12)</p><p><b> {</b></p><p> return 31;</p><p><b> }</b></p><p> if(Month == 4 || Month == 6 || Month == 9 || Month
82、== 11)</p><p><b> {</b></p><p> return 30;</p><p><b> }</b></p><p> if(year%4 == 0 && year%100 != 0 || year%400 == 0)//閏年</p>
83、<p><b> {</b></p><p> return 29;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
84、return 28;</p><p><b> }</b></p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><
85、p> if(e.getSource() == jtfYear || e.getSource() == bLastYear || e.getSource() == bNextYear ||</p><p> e.getSource() == bLastMonth || e.getSource() == bNextMonth)</p><p><b> {</b&g
86、t;</p><p><b> int m, y;</b></p><p> y = Integer.parseInt(jtfYear.getText());</p><p> m = Integer.parseInt(jtfMonth.getText());</p><p> for (int i = 0; i
87、 < lastTime+1; i++){ dtm.removeRow(0);}</p><p> if(e.getSource() == bLastYear){ jtfYear.setText(String.valueOf(--y)); }</p><p> if(e.getSource() == bNextYear){jtfYear.setText(String.valueOf
88、(++y)); }</p><p> if(e.getSource() == bLastMonth)</p><p><b> {</b></p><p> if(m == 1)</p><p><b> {</b></p><p> jtfYear.setText
89、(String.valueOf(--y));</p><p><b> m = 12;</b></p><p> jtfMonth.setText(String.valueOf(m));</p><p><b> }</b></p><p><b> else</b>&
90、lt;/p><p><b> {</b></p><p> jtfMonth.setText(String.valueOf(--m));</p><p><b> }</b></p><p><b> }</b></p><p> if(e.get
91、Source() == bNextMonth)</p><p><b> {</b></p><p> if(m == 12)</p><p><b> {</b></p><p> jtfYear.setText(String.valueOf(++y));</p><p
92、><b> m = 1;</b></p><p> jtfMonth.setText(String.valueOf(m));</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b&g
93、t;</p><p> jtfMonth.setText(String.valueOf(++m));</p><p><b> }</b></p><p><b> }</b></p><p> cld.set(y, m-1 , 0);</p><p> showC
94、alendar(y, m, cld);</p><p><b> }</b></p><p><b> }</b></p><p> public void mouseClicked(MouseEvent e)</p><p><b> {</b></p>
95、<p> int r = table.getSelectedRow();</p><p> int c = table.getSelectedColumn();</p><p> this.showTextArea(table.getValueAt(r,c)); </p><p><b> }</b>&
96、lt;/p><p> public void mousePressed(MouseEvent e)</p><p><b> {</b></p><p><b> }</b></p><p> public void mouseReleased(MouseEvent e)</p>
97、<p><b> {</b></p><p><b> }</b></p><p> public void mouseEntered(MouseEvent e)</p><p><b> {</b></p><p><b> }</b>
98、;</p><p> public void mouseExited(MouseEvent e)</p><p><b> {</b></p><p><b> }</b></p><p> private void showTextArea(Object selected)</p&g
99、t;<p><b> {</b></p><p> ld.setText(jtfYear.getText()+"年"+jtfMonth.getText()+"月"+selected+"日");</p><p> // File filein = new File(ld.getText()
100、+ ".txt");</p><p><b> }</b></p><p> public static void main(String[] args)</p><p><b> {</b></p><p> //JFrame.setDefaultLookAndFeel
101、Decorated(true);</p><p> new MyCalendar();</p><p><b> }</b></p><p><b> }</b></p><p> class Timer extends Thread//顯示系統(tǒng)時(shí)間</p><p>
102、<b> {</b></p><p> private JLabel lt;</p><p> private SimpleDateFormat fy = new SimpleDateFormat("yyyy.MM.dd 'at' HH:mm:ss ");//設(shè)置時(shí)間的顯示格式</p><p> p
103、rivate SimpleDateFormat fn = new SimpleDateFormat("yyyy.MM.dd 'at' HH mm ss ");</p><p> private boolean b=true;</p><p> public Timer(JLabel lt)</p><p><b>
104、 {</b></p><p> this.lt = lt; //引用成員變量 </p><p><b> }</b></p><p> public void run()</p><p><b> {</b></p><p> while (true)
105、</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p><b> if (b)</b></p><p><b> {</b&g
106、t;</p><p> lt.setText(fy.format(new Date()));</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> lt.set
107、Text(fn.format(new Date()));</p><p><b> }</b></p><p><b> b = !b;</b></p><p> this.sleep(500);</p><p><b> }</b></p><p&
108、gt; catch (InterruptedException ex)</p><p><b> {</b></p><p> ex.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p>
109、<p><b> }</b></p><p><b> }</b></p><p><b> 6.課程設(shè)計(jì)體會(huì)</b></p><p> (1)選題目的:本次課程設(shè)計(jì)為課本后設(shè)計(jì)題目任選一題進(jìn)行設(shè)計(jì)。思考一段時(shí)間后,我們組決定做一個(gè)萬(wàn)年歷的設(shè)計(jì)。主要考慮到以前時(shí)間少課程內(nèi)容多,JA
110、VA課程基礎(chǔ)內(nèi)容掌握并不是很抓實(shí),而對(duì)于設(shè)計(jì)一個(gè)萬(wàn)年歷程序,由于其功能簡(jiǎn)單設(shè)計(jì)也相對(duì)較易,對(duì)于我們組每個(gè)人的學(xué)習(xí)情況比較合適,并且通過(guò)設(shè)計(jì)這樣的一個(gè)日歷小組件,也能使自己對(duì)JAVA的一些基礎(chǔ)知識(shí)掌握的更加牢固。</p><p> ?。?)對(duì)于本程序的設(shè)計(jì),首先考慮其功能有哪些,需要顯示什么,如何進(jìn)行窗體構(gòu)建布局,需要用哪些知識(shí)點(diǎn),如相關(guān)的類和對(duì)象等。最后,就是根據(jù)初步設(shè)計(jì)的功能和布局構(gòu)架,考慮用源代碼進(jìn)行實(shí)現(xiàn)了。
111、</p><p> 經(jīng)過(guò)了長(zhǎng)時(shí)間的反復(fù)編寫(xiě)調(diào)試,課本和網(wǎng)上查閱相關(guān)資料相關(guān)文章,終于完成了整個(gè)課程設(shè)計(jì)。在這個(gè)過(guò)程中,在把書(shū)本上的知識(shí)給系統(tǒng)的復(fù)習(xí)了一下的同時(shí),同時(shí)也發(fā)現(xiàn)了自己的太多不足,對(duì)JAVA語(yǔ)言整體知識(shí)構(gòu)架不夠熟悉,不能靈活地運(yùn)用所學(xué)的知識(shí)點(diǎn)。自己的編程方式也不是太標(biāo)準(zhǔn),經(jīng)常出現(xiàn)代碼寫(xiě)錯(cuò)而調(diào)試很久的低級(jí)錯(cuò)誤情況出現(xiàn)。</p><p> 通過(guò)這次課程設(shè)計(jì),我明白了編寫(xiě)程序,不僅要
112、求對(duì)課本知識(shí)有較深刻的了解,同時(shí)要求程序設(shè)計(jì)者有較強(qiáng)的思維和動(dòng)手能力。還要熟悉常用的編程技巧和編程思想,不能只關(guān)心程序的運(yùn)行結(jié)果,更要注重程序代碼的結(jié)構(gòu),編程者更要有嚴(yán)謹(jǐn)?shù)貞B(tài)度。還有通過(guò)設(shè)計(jì)過(guò)程中大量地查閱網(wǎng)絡(luò)文章,對(duì)一些關(guān)鍵知識(shí)點(diǎn)逐個(gè)地了解并解決相關(guān)問(wèn)題。所以網(wǎng)絡(luò)這個(gè)強(qiáng)大的工具,確實(shí)是我們學(xué)習(xí)之中可以借助的一個(gè)很好的幫手。網(wǎng)絡(luò)是我們學(xué)習(xí)的最好的老師之一。有問(wèn)題,問(wèn)網(wǎng)絡(luò),是一個(gè)很好的習(xí)慣。</p><p><
113、;b> 參考文獻(xiàn)</b></p><p> [1].曾令明 索 望 甘 剛 宋 波,Java程序設(shè)計(jì)教程,西安電子科技大學(xué)出版社,2007.8</p><p> [2].孫全黨 王吳迪 趙楓朝,Java程序設(shè)計(jì)應(yīng)用教程,電子工業(yè)出版社,2006.2</p><p> [3].趙玉陽(yáng),Java從入門(mén)到精通,清華大學(xué)出版社,2006.8
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java萬(wàn)年歷課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告---萬(wàn)年歷
- java萬(wàn)年歷課程設(shè)計(jì)
- java課程設(shè)計(jì)--萬(wàn)年歷
- java課程設(shè)計(jì)--萬(wàn)年歷設(shè)計(jì)
- java萬(wàn)年歷課程設(shè)計(jì)報(bào)告 (2)
- java超級(jí)萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)報(bào)告
- 萬(wàn)年歷課程設(shè)計(jì)報(bào)告
- 萬(wàn)年歷課程設(shè)計(jì)--萬(wàn)年歷電子時(shí)鐘
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 數(shù)字萬(wàn)年歷課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--電子萬(wàn)年歷
- 萬(wàn)年歷系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論