Java日程管理系統(tǒng)_第1頁
Java日程管理系統(tǒng)_第2頁
Java日程管理系統(tǒng)_第3頁
Java日程管理系統(tǒng)_第4頁
Java日程管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、I 軟軟軟軟 件件件件 學(xué)學(xué)學(xué)學(xué) 院院院院三級實踐課題三級實踐課題課題名稱:課題名稱: 日程管理小助手日程管理小助手 專專 業(yè):業(yè): 軟件工程(軟件工程(JavaJava 方向)方向) 班班 級:級: 學(xué)學(xué) 號:號: 學(xué)生姓名:學(xué)生姓名: 指導(dǎo)教師:指導(dǎo)教師: 年年 月月 日日I 摘 要隨著經(jīng)濟全球化、管理現(xiàn)代化的到來,信息化建設(shè)已提到議事日程。計算機和網(wǎng)絡(luò)技術(shù)得到了迅速的發(fā)展和普及,互聯(lián)網(wǎng)的應(yīng)用和發(fā)展改變了全球的經(jīng)濟模式,企業(yè)管理模式也受到了極大的沖擊,使信息資源的共享和超越時空的交換成為了可能 。在這個激烈競爭的社會,人們的雜亂事務(wù)越來越多,而且常常因為一些小事情把重要的事情耽誤,對個人家

2、庭以及企業(yè)造成巨大的損失。事件提醒也來越成為人們的一個救星,來化解各個事件間的矛盾。為了迎接殘酷的社會競爭,個人管理助手是每個個體都需要實用的一種提醒軟件。因此,毫無疑問的說,日程管理無能對個人還是企業(yè)都是非常必要的。做好了日程管理個人可以更好地規(guī)劃自己生活,讓自己的生活多姿多彩,井然有序;讓企業(yè)能確保各項工作及時有效推進,在時間以及效率上能夠給企業(yè)帶來最大的受益,能夠在規(guī)定時間內(nèi)完成既定任務(wù)。日程管理的重要性在于可以將每天的工作和事務(wù)安排在日期中并做一個有效的記錄方便管理日常的工作和事務(wù),達(dá)到工作備忘的目的。同時也具有對員工日常工作進行指導(dǎo)、監(jiān)督的作用。關(guān)鍵詞:辦公自動化,計算機,日程管理

3、:日程管理小助手目 錄摘摘 要要.I第第 1 章章 系統(tǒng)分析系統(tǒng)分析.11.1 問題描述.11.2 技術(shù)分析.11.3 工程進度計劃.2第第 2 章章 系統(tǒng)功能設(shè)計系統(tǒng)功能設(shè)計.32.1 功能分析.32.2 系統(tǒng)設(shè)計.42.2.1 數(shù)據(jù)庫表的設(shè)計.4圖圖 2-22-2.43.1 功能模塊.53.2 主要界面實現(xiàn).63.3 部分功能實現(xiàn)的源代碼.10第第 4 章章 結(jié)束語結(jié)束語.20:日程管理小助手1第 1 章 系統(tǒng)分析1.1 問題描述在這個激烈競爭的社會,人們的雜亂事務(wù)越來越多,而且常常因為一些小事情把重要的事情耽誤,對個人家庭以及企業(yè)造成巨大的損失。事件提醒也來越成為人們的一個救星,來化解各

4、個事件間的矛盾。為了迎接殘酷的社會競爭,個人管理助手是每個個體都需要實用的一種提醒軟件。因此,毫無疑問的說,日程管理無能對個人還是企業(yè)都是非常必要的。日程管理個人可以更好地規(guī)劃自己生活,讓自己的生活多姿多彩,井然有序;讓企業(yè)能確保各項工作及時有效推進,在時間以及效率上能夠給企業(yè)帶來最大的受益,能夠在規(guī)定時間內(nèi)完成既定任務(wù)。1.2 技術(shù)分析在界面設(shè)計上,要盡量簡化,是用圖形化頁面。在前面利用了上中下三個面板,最外面的布局管理用的是 BorderLayout()。在最上面那一行用的是JMenu(),二級下拉菜單用的是 JMenuItem()。在 BorderLayout.CENTER 中放的是圖形

5、,用來美化外觀;BorderLayout.SOUTH 放了四個 JLabel 用來提示已經(jīng)添加的事件提醒。在具體的時間選擇上要提供日歷,即使用 Calender類。用此類可以避免用戶在輸入的時候輸入非法字符以及非法操作等造成異常。而且,要使用數(shù)據(jù)庫來記錄具體的時間,事件信息。在記錄時間的時候,考慮到用 Date 記錄時間要將 Date 轉(zhuǎn)化成字符串,在記錄的時候又得將字符串轉(zhuǎn)化為 Date 類型較為繁瑣。因此,在時間記錄方面,一直使用的字符串類型。避免相互轉(zhuǎn)化的繁瑣,以及在轉(zhuǎn)化石可能拋出的異常,簡化了代碼,減少了工作量。事件記錄方面也是用的字符串類型,基于事件提醒時,記錄字?jǐn)?shù)較少,用 Text

6、 格式的又較為麻煩,因此選擇了字符串。但是,在幫助:日程管理小助手2的通告項方面使用的為 Text,字?jǐn)?shù)較多,需要選擇該格式。在細(xì)節(jié)方面,一定要捕捉異常,用到 try()、catch(),捕捉并處理異常。在時間輸入時,默認(rèn)不輸入時間為本地時間。后又一個時間判斷,用到if 語句,當(dāng)獲得的時間與本地時間相同時,提示用戶未輸入時間且重新輸入。事件提醒內(nèi)容(equals(“”)),提示用戶輸入事件提醒內(nèi)容。在異常處理方面做到捕捉異常,處理異常,并且合理;在操作性方面,要人性化。當(dāng)提示用戶輸入的內(nèi)容,或操作非法時,用重新返回到原頁面,而不是異?;蛲顺?。用到 dispose()讓本頁面“消失” ,在重新調(diào)

7、用原來的頁面。在提醒用戶方面,獲得本地的時間與提醒時間相同時,用到 ShowMessageDialog()提示,用戶在某時間要做某事。1.3 工程進度計劃 本課題小組共兩人,一個主要負(fù)責(zé)前期的需求分析,中期的一些異常處理、具體的修改,最后的一些總結(jié),代碼優(yōu)化。另外,我主要負(fù)責(zé)部分功能的實現(xiàn),對部分代碼的修改、優(yōu)化。在三周內(nèi)可以基本結(jié)束課題的所有內(nèi)容,完成知道老師對本課題的指導(dǎo),安排的具體的修改工作。當(dāng)然,在三周的時間里,肯定不是剛開始就立即著手開始進入課題實踐階段。在第一周內(nèi),主要對課程管理小助手需要完成的必要功能、參考別人做過的功能以及其他人做的優(yōu)點以及不足的地方、綜合我們學(xué)過的知識選擇我們

8、要完成的功能,總結(jié)我們需要實現(xiàn)的方法以及復(fù)習(xí)或者學(xué)習(xí)實現(xiàn)該功能的方法。第二周開始著手進入代碼編譯階段,具體的代碼完成后,部分要修改或優(yōu)化的由我的同伴完成。第三周前段時間,主要對已完成的系統(tǒng)進行測試,對一些未處理的異常進行捕捉并處理。后段時間進行課題報告的完成以及總結(jié)三周里的實踐心得,系統(tǒng)的完成滿意度以及學(xué)習(xí)方法的總結(jié)。:日程管理小助手3第 2 章 系統(tǒng)功能設(shè)計2.1 功能分析圖 2-1如圖 2-1 所示,用戶使用本系統(tǒng)時,可以根據(jù)日歷表選擇事件提醒的時間,輸入事件提醒的內(nèi)容。用戶可以選擇按時間刪除和全部刪除兩種刪除方式,也可以通過幫助,來了解本軟件的功能以及操作步驟。 查看事件提醒可以通過時間

9、或查詢?nèi)績煞N查詢方式查詢,在設(shè)置方面,可以設(shè)置系統(tǒng)的字體顏色,大小以及背景色。在美化系統(tǒng)首頁方面,用了Icon 對象,添加了圖片,利用 JPanel,JLabel,JMenu,JMenuItem 來圖形化界面。在面板的下方,有四個 JLabel 來顯示要提示的事件提醒內(nèi)容。根據(jù)事件的緊急程度來定義不同的顏色來區(qū)分等級,在添加完事件提醒內(nèi)容之后,會顯示到系統(tǒng)主業(yè)的下方 JLabel 上。也可以調(diào)節(jié)字體的大小,顏色,日程管理添加事件提醒查看事件提醒設(shè)置按時間查詢查詢?nèi)堪磿r間刪除刪除全部刪除全部提醒時間提醒內(nèi)容字體大小背景色刪除事件提醒字體大小幫助:日程管理小助手4背景色。查詢、刪除事件提醒可以

10、選擇全部或?qū)我粚ο筮M行操作,可以在日歷中選擇事件提醒的事件以及提示所有非法的操作以及提示用戶再次輸入。2.2 系統(tǒng)設(shè)計2.2.1 數(shù)據(jù)庫表的設(shè)計表 2-2 Schedule 日程安排配置表字段名稱類型大小約束說明N201時間編號thingsVARCHAR900事件提醒daytimeVARCHAR300提醒時間圖 2-2 如圖 2-2 所示,數(shù)據(jù)庫中有一張表,其屬性為時間編號,事件提醒內(nèi)容,提醒時間等內(nèi)容。No.定義為 int 類型,為事件的序號,設(shè)置為主鍵。用數(shù)據(jù)庫來記錄具體的時間,事件信息。在記錄時間的時候,考慮到用Date 記錄時間要將 Date 轉(zhuǎn)化成字符串,在記錄的時候又得

11、將字符串轉(zhuǎn)化為Date 類型較為繁瑣。因此,在時間記錄方面,一直使用的字符串類型。避免相互轉(zhuǎn)化的繁瑣,以及在轉(zhuǎn)化石可能拋出的異常,簡化了代碼,減少了工作量。事件記錄方面也是用的字符串類型,基于事件提醒時,記錄字?jǐn)?shù)較少,用 Text 格式的又較為麻煩,因此選擇了字符串。但是,在幫助的通告項方面使用的為 Text,字?jǐn)?shù)較多,需要選擇該格式。在細(xì)節(jié)方面,一定要捕捉異常,用到 try()、catch(),捕捉并處理異常。 :日程管理小助手5第 3 章 系統(tǒng)實現(xiàn)3.1 功能模塊圖 3-1如圖 3-1 所示,在主界面方面,添加了一張背景圖片來美化桌面,下面是事件消息的提醒,按照時間的先后順序根據(jù)顏色的不同

12、不區(qū)分事件要處理的緊急度。最上面一行是菜單欄,主要是簡化按鈕所占用的空間。在界面設(shè)計上,要盡量簡化,是用圖形化頁面。在前面利用了上中下三個面板,最外面的布局管理用的是 BorderLayout()。在最上面那一行用的是JMenu(),二級下拉菜單用的是 JMenuItem()。在 BorderLayout.CENTER 中放的是圖形,用來美化外觀;BorderLayout.SOUTH 放了四個 JLabel 用來提示已經(jīng)添加的事件提醒。在具體的時間選擇上要提供日歷,即使用 Calender 類。:日程管理小助手6用此類可以避免用戶在輸入的時候輸入非法字符以及非法操作等造成異常。在操作性方面,要

13、人性化。當(dāng)提示用戶輸入的內(nèi)容,或操作非法時,用重新返回到原頁面,而不是異常或退出。用到 dispose()讓本頁面“消失” ,在重新調(diào)用原來的頁面。在提醒用戶方面,獲得本地的時間與提醒時間相同時,用到 ShowMessageDialog()提示,用戶在某時間要做某事。在細(xì)節(jié)方面,一定要捕捉異常,用到 try()、catch(),捕捉并處理異常。在時間輸入時,默認(rèn)不輸入時間為本地時間。后又一個時間判斷,用到 if 語句,當(dāng)獲得的時間與本地時間相同時,提示用戶未輸入時間且重新輸入。事件提醒內(nèi)容(equals(“”)),提示用戶輸入事件提醒內(nèi)容。在異常處理方面做到捕捉異常,處理異常,并且合理;在操作

14、性方面,要人性化。當(dāng)提示用戶輸入的內(nèi)容,或操作非法時,用重新返回到原頁面,而不是異?;蛲顺?。用到dispose()讓本頁面“消失” ,在重新調(diào)用原來的頁面。在提醒用戶方面,獲得本地的時間與提醒時間相同時,用到 ShowMessageDialog()提示,用戶在某時間要做某事。3.2 主要界面實現(xiàn)1.:日程管理小助手7圖 3-2-1圖 3-2-2添加界面,是可以根據(jù)日歷的方式來進行時間的選擇;如果不驚醒時間選擇的話,默認(rèn)時間是本地時間。如果不輸入事件信息的話,利用 if 判斷,若等于本地時間,則提示,沒有輸入時間提醒的時間,會返回時間選擇頁面,重新進行時間的獲取。在事件提醒內(nèi)容方面,如果輸入的信

15、息提示為空,會提示未輸入,返回頁面重新輸入。:日程管理小助手8在具體的時間選擇上要提供日歷,即使用 Calender 類。用此類可以避免用戶在輸入的時候輸入非法字符以及非法操作等造成異常。而且,要使用數(shù)據(jù)庫來記錄具體的時間,事件信息。在記錄時間的時候,考慮到用 Date 記錄時間要將 Date 轉(zhuǎn)化成字符串,在記錄的時候又得將字符串轉(zhuǎn)化為 Date 類型較為繁瑣。因此,在時間記錄方面,一直使用的字符串類型。避免相互轉(zhuǎn)化的繁瑣,以及在轉(zhuǎn)化石可能拋出的異常,簡化了代碼,減少了工作量。事件記錄方面也是用的字符串類型,基于事件提醒時,記錄字?jǐn)?shù)較少,用 Text 格式的又較為麻煩,因此選擇了字符串。但是

16、,在幫助的通告項方面使用的為Text,字?jǐn)?shù)較多,需要選擇該格式。在細(xì)節(jié)方面,一定要捕捉異常,用到 try()、catch(),捕捉并處理異常。在時間輸入時,默認(rèn)不輸入時間為本地時間。后又一個時間判斷,用到 if 語句,當(dāng)獲得的時間與本地時間相同時,提示用戶未輸入時間且重新輸入。事件提醒內(nèi)容(equals(“”)),提示用戶輸入事件提醒內(nèi)容。在異常處理方面做到捕捉異常,處理異常,并且合理;在操作性方面,要人性化。當(dāng)提示用戶輸入的內(nèi)容,或操作非法時,用重新返回到原頁面,而不是異?;蛲顺?。用到dispose()讓本頁面“消失” ,在重新調(diào)用原來的頁面。在提醒用戶方面,獲得本地的時間與提醒時間相同時,

17、用到 ShowMessageDialog()提示,用戶在某時間要做某事。2.刪除界面3-3 如圖 3-3 所示,在刪除方式方面,可以選擇全部刪除或者單一刪除。在刪除方式選擇方面用的是 JOptionPane.ShowOptionDialog(),利用 if 判斷選擇的序號,根據(jù)用戶選擇的功能,執(zhí)行相應(yīng)的方法。:日程管理小助手9 當(dāng)選擇的內(nèi)容為“按時間刪除”內(nèi)容時,在數(shù)據(jù)庫方面用到的 sql語句為(“delete from Schedule where daytime=”+date+” ”);可以根據(jù)時間刪除事件提醒的內(nèi)容,在首頁面板的 JLabel 上顯示的就沒有本條事件提醒內(nèi)容;而在選擇的內(nèi)

18、容為“刪除所有事件提醒”內(nèi)容時,在數(shù)據(jù)庫方面用到的sql 語句為(“delete from Schedule“);可以根據(jù)刪除全部的事件提醒的內(nèi)容,在首頁面板的 JLabel 上顯示的就為空;3.查詢界面 3-4如圖 3-3 所示,在刪除方式方面,可以選擇全部查詢或者單一查詢。在刪除方式選擇方面用的是 JOptionPane.ShowOptionDialog(),利用 if 判斷選擇的序號,根據(jù)用戶選擇的功能,執(zhí)行相應(yīng)的方法。當(dāng)選擇的內(nèi)容為“按時間查詢”內(nèi)容時,在數(shù)據(jù)庫方面用到的 sql 語句為(“select No, daytime, things from Schedule where d

19、aytime=”+date+” ”);可以根據(jù)時間查詢事件提醒的內(nèi)容,在 showMessageDialog 消息彈出一個消息對話框,會提示查詢成功以及查詢的結(jié)果;而在選擇的內(nèi)容為“查詢所有事件提醒”內(nèi)容時,在數(shù)據(jù)庫方面用到的sql 語句為(“select * from Schedule“);可以查詢?nèi)康氖录嵝训膬?nèi)容,在彈出的面板中會顯示所查詢的內(nèi)容;:日程管理小助手103.3 部分功能實現(xiàn)的源代碼import java.util.Date;import java.util.Calendar;import java.text.SimpleDateFormat;import java.tex

20、t.ParseException ;import java.awt.Color ;import java.awt.Font;import java.awt.Point ;import java.awt.Dimension ;import java.awt.BorderLayout ;import java.awt.FlowLayout ;import java.awt.GridLayout ;import java.awt.Cursor ;import java.awt.Frame ;import java.awt.event.ActionEvent;import java.awt.event

21、.ActionListener;/import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.JSpinner ;import javax.swing.JTextArea;import javax.swing.JTextField;import

22、 javax.swing.SpinnerNumberModel;import javax.swing.SwingUtilities;import javax.swing.SwingConstants ;import javax.swing.event.ChangeListener ;import javax.swing.event.ChangeEvent ;import javax.swing.border.LineBorder ;SuppressWarnings(serial)public class Cal extends JFramefinal String showMessageDia

23、log = 未添加時間信息,請重新添加!;private String getDate() / TODO Auto-generated method stubDate d=new Date();SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd kk); String str=sdf.format(d);/System.out.println(The date is : +str);return str;:日程管理小助手11 public Cal() final DateChooserJButton btn = new DateChoose

24、rJButton(); final JTextField jt1=new JTextField(30); final JButton btn2 = new JButton(確定); final JLabel jl = new JLabel(請輸入事件提醒的內(nèi)容:); if(btn.getText()=getDate() JOptionPane.showMessageDialog(null,showMessageDialog); if(jt1.getText().equals(null) JOptionPane.showMessageDialog(null,未添加提示信息,請重新添加!); bt

25、n2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(btn.getText()=getDate() JOptionPane.showMessageDialog(null,未添加時間信息,請重新添加!); /System.out.print(getDate(); if(jt1.getText()=null) JOptionPane.showMessageDialog(null,未添加提示信息,請重新添加!); JOptionPane.showMessageDialog(nu

26、ll,未添加提示信息,請重新添加!);JOptionPane.showMessageDialog(null,事件提醒時間+btn.getText()+獲取成功。); dispose();System.out.println(jt1.getText();ScheduleManagement sm=new ScheduleManagement();sm.setSize(600, 500);sm.setLocation(400, 200); ); this.getContentPane().setLayout(new BorderLayout(); this.getContentPane().add

27、(btn,new BorderLayout().NORTH); this.getContentPane().add(jl,new BorderLayout().WEST); this.getContentPane().add(jt1,new BorderLayout().EAST); this.getContentPane().add(btn2 ,new BorderLayout().SOUTH); this.setSize(500,400); this.setLocation(400,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLO

28、SE);:日程管理小助手12 this.setVisible(true); SuppressWarnings(unused)public static void main(String args) Cal cal = new Cal(); SuppressWarnings(serial)class DateChooserJButton extends JButton private DateChooser dateChooser =null;private String preLabel = ;public DateChooserJButton() this(getNowDate() ;pub

29、lic DateChooserJButton(SimpleDateFormat df , String dateString) this() ;setText(df,dateString) ;public DateChooserJButton(Date date) this(,date);public DateChooserJButton(String preLabel , Date date) if (preLabel!=null) this.preLabel = preLabel ;setDate(date) ;setBorder(null) ;setCursor(new Cursor(C

30、ursor.HAND_CURSOR) ;super.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) if (dateChooser=null) dateChooser = new DateChooser();Point p = getLocationOnScreen() ;p.y = p.y+30 ;dateChooser.showDateChooser(p) ; ) ; private static Date getNowDate() :日程管理小助手13return Cal

31、endar.getInstance().getTime() ; private static SimpleDateFormat getDefaultDateFormat() return new SimpleDateFormat(yyyy-MM-dd HH) ; /覆蓋父類的方法public void setText(String s) Date date ;try date = getDefaultDateFormat().parse(s) ; catch (ParseException e) date = getNowDate() ;setDate(date) ;public void s

32、etText(SimpleDateFormat df , String s) Date date ;try date = df.parse(s) ;catch (ParseException e) date = getNowDate() ;setDate(date) ; public void setDate(Date date) super.setText(preLabel+getDefaultDateFormat().format(date);public Date getDate() String dateString = getText().substring(preLabel.len

33、gth();try return getDefaultDateFormat().parse(dateString); catch (ParseException e) return getNowDate() ; /覆蓋父類的方法使之無效public void addActionListener(ActionListener listener ) :日程管理小助手14 private class DateChooser extends JPanel implements ActionListener ,ChangeListener int startYear = 1980; /默認(rèn)【最小】顯示年

34、份int lastYear = 2050; /默認(rèn)【最大】顯示年份int width = 400; /界面寬度int height = 600; /界面高度Color backGroundColor = Color.gray; /底色/月歷表格配色-/Color palletTableColor = Color.GRAY; /日歷表底色Color todayBackColor = Color.GREEN; /今天背景色Color weekFontColor = Color.blue; /星期文字色Color dateFontColor = Color.black; /日期文字色Color we

35、ekendFontColor = Color.red; /周末文字色/控制條配色-/Color controlLineColor = Color.GRAY; /控制條底色Color controlTextColor = Color.white; /控制條標(biāo)簽文字色Color rbFontColor = Color.white; /RoundBox文字色Color rbBorderColor = Color.red; /RoundBox邊框色Color rbButtonColor = Color.pink; /RoundBox按鈕色Color rbBtFontColor = Color.red;

36、 /RoundBox按鈕文字色JDialog dialog ;JSpinner yearSpin ;JSpinner monthSpin ;JSpinner hourSpin ;JButton daysButton = new JButton67 ;DateChooser() setLayout(new BorderLayout();setBorder(new LineBorder(backGroundColor, 2);setBackground(backGroundColor);JPanel topYearAndMonth = createYearAndMonthPanal();add(t

37、opYearAndMonth,BorderLayout.NORTH);JPanel centerWeekAndDay = createWeekAndDayPanal();add(centerWeekAndDay,BorderLayout.CENTER);:日程管理小助手15private JPanel createYearAndMonthPanal()Calendar c = getCalendar() ;int currentYear =c.get(Calendar.YEAR);int currentMonth =c.get(Calendar.MONTH)+1;int currentHour

38、 =c.get(Calendar.HOUR_OF_DAY)+1;JPanel result = new JPanel();result.setLayout(new FlowLayout();result.setBackground(controlLineColor);yearSpin = new JSpinner(new SpinnerNumberModel(currentYear,currentYear,lastYear,1);yearSpin.setPreferredSize(new Dimension(48,20) ;yearSpin.setName(Year) ;yearSpin.se

39、tEditor(new JSpinner.NumberEditor(yearSpin, #) ; yearSpin.addChangeListener(this) ; result.add(yearSpin) ;JLabel yearLabel = new JLabel(年);yearLabel.setForeground(controlTextColor);result.add(yearLabel);monthSpin = new JSpinner(new SpinnerNumberModel(currentMonth,currentMonth,12,1);monthSpin.setPref

40、erredSize(new Dimension(35,20) ;monthSpin.setName(Month) ;monthSpin.addChangeListener(this) ; result.add(monthSpin) ;JLabel monthLabel = new JLabel(月);monthLabel.setForeground(controlTextColor);result.add(monthLabel);hourSpin = new JSpinner(new SpinnerNumberModel(currentHour,currentHour,23,1);hourSp

41、in.setPreferredSize(new Dimension(35,20) ;hourSpin.setName(Hour) ;hourSpin.addChangeListener(this) ; result.add(hourSpin) ;JLabel hourLabel = new JLabel(時);hourLabel.setForeground(controlTextColor);result.add(hourLabel);return result ; :日程管理小助手16private JPanel createWeekAndDayPanal() String colname

42、= 日,一,二,三,四,五,六;JPanel result = new JPanel();/設(shè)置固定字體,以免調(diào)用環(huán)境改變影響界面美觀result.setFont(new Font(宋體, Font.PLAIN, 12);result.setLayout(new GridLayout(7,7);result.setBackground(Color.white);JLabel cell ;for(int i=0;i7;i+) cell = new JLabel(colnamei);cell.setHorizontalAlignment(JLabel.CENTER);if (i=0 | i=6)

43、cell.setForeground(weekendFontColor) ;else cell.setForeground(weekFontColor) ;result.add(cell) ; int actionCommandId = 0 ;for(int i = 0; i 6; i+) for(int j = 0; j 0 ) result.x -= offsetX ; if (offsetY 0 ) result.y -= offsetY ; return result ;private Calendar getCalendar() Calendar result = Calendar.

44、getInstance();result.setTime(getDate() ;return result ; private int getSelectedYear() return (Integer)yearSpin.getValue().intValue() ; private int getSelectedMonth() return (Integer)monthSpin.getValue().intValue() ; private int getSelectedHour() return (Integer)hourSpin.getValue().intValue() ; :日程管理

45、小助手18private void dayColorUpdate(boolean isOldDay) Calendar c = getCalendar() ;int day = c.get(Calendar.DAY_OF_MONTH);c.set(Calendar.DAY_OF_MONTH,1);int actionCommandId =day-2+c.get(Calendar.DAY_OF_WEEK) ;int i = actionCommandId/7;int j = actionCommandId%7;if (isOldDay) daysButtonij.setForeground(dateFontColor) ;else daysButtonij.setForeground(todayBackColor) ;private void flushWeekAndDay() Calendar c = getC

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論