車輛管理信息系統(tǒng)--Java課程設(shè)計(jì)(共24頁(yè))_第1頁(yè)
車輛管理信息系統(tǒng)--Java課程設(shè)計(jì)(共24頁(yè))_第2頁(yè)
車輛管理信息系統(tǒng)--Java課程設(shè)計(jì)(共24頁(yè))_第3頁(yè)
車輛管理信息系統(tǒng)--Java課程設(shè)計(jì)(共24頁(yè))_第4頁(yè)
車輛管理信息系統(tǒng)--Java課程設(shè)計(jì)(共24頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)任務(wù)書20112012學(xué)年第一學(xué)期課程JAVA語(yǔ)言課程設(shè)計(jì)課程設(shè)計(jì)名稱車輛管理信息系統(tǒng)專業(yè)班級(jí)指導(dǎo)教師2011年9月一、 需求分析車輛管理信息系統(tǒng)這一軟件的設(shè)計(jì)主要是針對(duì)我們?nèi)粘I钪熊囕v以及與車輛相關(guān)的信息的管理與查詢和修改。本軟件所要做的就是對(duì)與車輛有關(guān)的信息包括司機(jī)信息的管理、車輛信息的管理、運(yùn)營(yíng)信息的管理、車輛維修信息的管理、事故信息的管理。軟件在功能上需實(shí)現(xiàn):車輛管理系統(tǒng)司機(jī)信息運(yùn)營(yíng)信息車輛維修信息車輛信息事故信息新增修改查詢新增修改查詢新增查詢新增修改查詢新增查詢1-1功能分析圖1) 有關(guān)司機(jī)信息的管理,有信息的新增,修改

2、及查詢功能。司機(jī)基本信息包括的數(shù)據(jù)項(xiàng)有:司機(jī)姓名、司機(jī)性別、出生日期、家庭住址、初次領(lǐng)證時(shí)間、執(zhí)照號(hào)碼、準(zhǔn)駕車型、有效期起始時(shí)間、有效期結(jié)束時(shí)間等等。專心-專注-專業(yè)有效結(jié)束時(shí)間有效起始時(shí)間準(zhǔn)駕車型執(zhí)照號(hào)碼初次領(lǐng)證時(shí)間家庭住址出生日期性別姓名司機(jī)主要司機(jī)顏色發(fā)證時(shí)間登記時(shí)間核定載客車輛總質(zhì)量廠牌型號(hào)車駕號(hào)發(fā)動(dòng)機(jī)號(hào)車主類型車號(hào)車輛2)車輛信息的管理,有信息的新增,查詢及修改功能。車輛基本信息包括的數(shù)據(jù)項(xiàng)有:車號(hào)、類型、車主、發(fā)動(dòng)機(jī)號(hào)、車駕號(hào)、廠牌型號(hào)、車輛總質(zhì)量、核定載客、登記時(shí)間、發(fā)證時(shí)間、顏色、主要司機(jī)等等。3)運(yùn)營(yíng)信息的管理,有輸錄,查詢與修改功能。運(yùn)營(yíng)信息包括的數(shù)據(jù)項(xiàng)有:車號(hào)、司機(jī)姓名、

3、運(yùn)營(yíng)開始時(shí)間、運(yùn)營(yíng)結(jié)束時(shí)間、運(yùn)營(yíng)公里、耗油量等等。耗油量運(yùn)營(yíng)公里運(yùn)營(yíng)結(jié)束時(shí)間運(yùn)營(yíng)開始時(shí)間司機(jī)姓名車號(hào)運(yùn)營(yíng)信息備注配件維修費(fèi)用維修內(nèi)容維修單位維修時(shí)間車牌號(hào)車輛維修4)車輛維修信息的管理,有輸入,查詢及修改功能。車輛維修信息包括的數(shù)據(jù)項(xiàng)有:車牌號(hào)、維修時(shí)間、維修單位、維修內(nèi)容、維修費(fèi)用、配件、備注等等。備注處理金額處理方式對(duì)方單位對(duì)方車號(hào)事故原因事故地點(diǎn)事故時(shí)間司機(jī)姓名車牌號(hào)事故信息5)事故信息的管理,有輸入,查詢功能。事故信息包括的數(shù)據(jù)項(xiàng)有:車牌號(hào)、司機(jī)姓名、事故時(shí)間、事故地點(diǎn)、事故原因、對(duì)方車號(hào)、對(duì)方單位、處理方式、處理金額、備注等二、 設(shè)計(jì)登陸主界面司機(jī)信息事故信息車輛信息運(yùn)營(yíng)信息維修信息

4、司機(jī)新增、查詢、修改車輛新增、查詢、修改運(yùn)營(yíng)新增、查詢、修改維修新增、查詢、修改事故新增、查詢、修改地址,用戶名,密碼的驗(yàn)證1-2功能設(shè)計(jì)圖1.功能設(shè)計(jì)本軟件的要求的功能為:1)有關(guān)司機(jī)各種信息的新增,修改及查詢。2)車輛信息的新增,查詢及修改。3)運(yùn)營(yíng)信息的輸錄,查詢與修改。4)車輛維修信息的輸入,查詢及修改。5)事故信息的輸入,查詢。編寫軟件對(duì)以上的功能有著較好的實(shí)現(xiàn)。除此之外我們還增加了用戶登錄和幫助模塊,必須在登錄狀態(tài)下才可以進(jìn)行操作,用來(lái)解決對(duì)信息的保護(hù)等相關(guān)方面的問題,幫助模塊主要提示程序的功能。在其他的附加功能方面提供了在軟件運(yùn)行的同時(shí)顯示了當(dāng)前的時(shí)間。2. 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)方面

5、使用的是Sql Server 2000,在數(shù)據(jù)庫(kù)的相關(guān)功能方面主要通過Sql語(yǔ)言實(shí)現(xiàn)的主要是數(shù)據(jù)的錄入、查詢和修改。3.詳細(xì)設(shè)計(jì)車輛管理信息系統(tǒng)主要是對(duì)信息數(shù)據(jù)實(shí)現(xiàn)管理的一款軟件,所以本軟件的算法較為簡(jiǎn)單,主要是界面的制作以及數(shù)據(jù)庫(kù)方面的相關(guān)操作。軟件設(shè)計(jì)的重要之處在于對(duì)軟件模型的分析與設(shè)計(jì)。這次的設(shè)計(jì)我們采用的是分層的設(shè)計(jì),即本軟件我們共設(shè)計(jì)為三層,第一層為登陸界面,是用戶打開軟件的第一個(gè)界面;第二層為系統(tǒng)界面,用戶可以在此選擇自己的希望處理的信息種類;第三層則為功能實(shí)現(xiàn)層,用戶選擇對(duì)信息進(jìn)行何種處理。軟件共有17個(gè)類,相關(guān)的類名和實(shí)現(xiàn)的功能如下:Control:系統(tǒng)的主類,車輛管理系統(tǒng)的主

6、界面enter:登錄界面的類,包括用戶名和密碼的輸入,登錄后擁有管理員權(quán)限D(zhuǎn)ao:實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的語(yǔ)言操作Driver: 司機(jī)基本信息界面的設(shè)計(jì)及添加、修改、查詢功能的調(diào)用Carmessage:車輛信息界面的設(shè)計(jì)及添加、修改、查詢功能的調(diào)用Carbusiness:運(yùn)營(yíng)信息界面的設(shè)計(jì)及添加、修改、查詢功能的調(diào)用carrepair :車輛維修信息界面的設(shè)計(jì)及添加、修改、查詢功能的調(diào)用caraccident:事故信息界面的設(shè)計(jì)及輸入、查詢操作的調(diào)用BaseDao:通過longHaul方法進(jìn)行數(shù)據(jù)庫(kù)的修改,插入Help:幫助界面的設(shè)計(jì)Today:獲取當(dāng)前系統(tǒng)時(shí)間并輸出JDBC:數(shù)據(jù)庫(kù)驅(qū)動(dòng)Resultdr

7、iver:司機(jī)信息查詢結(jié)果的輸出Resultcarmess:車輛信息查詢結(jié)果的輸出Resultbusi: 運(yùn)營(yíng)信息查詢結(jié)果的輸出Resultrepair:車輛維修信息查詢結(jié)果的輸出resultacc:事故信息查詢結(jié)果的輸出4.技術(shù)支持本軟件的設(shè)計(jì)主要是界面的規(guī)劃與設(shè)計(jì)和各個(gè)類的實(shí)現(xiàn)與連接(如上圖)。在數(shù)據(jù)的錄入與查詢方面還有與數(shù)據(jù)庫(kù)的連接以及相關(guān)功能的實(shí)現(xiàn)。在界面的規(guī)劃上主要采用的是BorderLayout布局以及GridBagLayout布局,這是因?yàn)楸拒浖婕暗降脭?shù)據(jù)種類和數(shù)據(jù)類型較多,采用上述兩種界面可以使數(shù)據(jù)的錄入及查詢得到很好的排列,從而方便用戶使用。在類的連接方面主要是對(duì)按鈕組件添

8、加監(jiān)視器,經(jīng)過對(duì)相關(guān)事件源以及觸發(fā)事件的實(shí)現(xiàn),從而對(duì)類實(shí)現(xiàn)調(diào)用及連接。數(shù)據(jù)庫(kù)方面本軟件使用的是sql server2000,在數(shù)據(jù)庫(kù)的相關(guān)功能方面本軟件實(shí)現(xiàn)的主要是數(shù)據(jù)的錄入、查詢和修改。1-3Swing中JButton的使用與之前學(xué)習(xí)Java時(shí)不一樣的是,課程設(shè)計(jì)中用到了Swing。Swing是一個(gè)用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。Swing開發(fā)人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來(lái)創(chuàng)建優(yōu)雅的用戶界面。 工具包中所有都是以swing作為名稱,例如javax.swing,j

9、avax.swing.event。Swing允許選擇程序的圖形界面風(fēng)格常用的有java風(fēng)格,windows風(fēng)格等。下面的代碼用于選擇圖形界面風(fēng)格,這里選擇的是跨平臺(tái)的Java界面風(fēng)格。 try UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName( ); catch (Exception e) 常用的頂級(jí)容器: JFrame(框架):表示主程序窗口 JDialog(對(duì)話框):每個(gè)JDialog對(duì)象表示一個(gè)對(duì)話框,對(duì)話框?qū)儆诙?jí)窗口 JApplet(小程序):在內(nèi)顯示一個(gè)小程序界面 一個(gè)框架包括邊界、菜單

10、欄、狀態(tài)欄,以及中間占主要部分的窗格。窗格也可以看作是一種面板,但它是框架的一個(gè)組成部分。組件不會(huì)直接放到框架上,而是放在若干個(gè)面板上,這些面板再放到窗格上 用框架對(duì)象的getContentPane()函數(shù)來(lái)獲得窗格,再調(diào)用窗格的add()函數(shù)放置面板public static void main(String args)JFrame frame=new JFrame("SwingApplication"); JPanel panel1=new JPanel(); frame.getContentPane().add(panel1,BorderLayout.CENTER);

11、 ./ 添加其他組件frame.pack();frame.setVisible(true);三、 調(diào)試及測(cè)試1、調(diào)試過程中遇到的主要問題及解決方法我們這次課程設(shè)計(jì)最主要的問題是做界面的美化,主要用到網(wǎng)格布局和邊界布局,除此之外因?yàn)槭亲鲆粋€(gè)系統(tǒng)所以還要求與數(shù)據(jù)庫(kù)進(jìn)行連接。1) 在運(yùn)行程序時(shí)遇到過很多問題,例如圖片的加載有問題。主要是圖片的名稱以及圖片的格式問題。2) 在程序遇到的問題是對(duì)JAVA的數(shù)據(jù)庫(kù)操作了解不夠,通過參考書籍編寫了BASEDAO這個(gè)類并調(diào)用了里面的longHaul方法來(lái)實(shí)現(xiàn)了數(shù)據(jù)的修改和插入。在對(duì)各項(xiàng)信息進(jìn)行添加、修改時(shí),是通過“確定”按鈕來(lái)判別是否對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的,系統(tǒng)無(wú)

12、法識(shí)別確定后進(jìn)行的操作時(shí)添加或是修改,因此,通過定義一個(gè)標(biāo)志并對(duì)標(biāo)志賦不同的值來(lái)識(shí)別“確定”的操作時(shí)添加還是修改。3) 還有的問題就是在數(shù)據(jù)庫(kù)連接時(shí)出現(xiàn)的問題,出現(xiàn)的問題主要有數(shù)據(jù)庫(kù)建立的失敗,還有就是在數(shù)據(jù)庫(kù)連接的時(shí)候,加載驅(qū)動(dòng)的失敗等。例如出現(xiàn)數(shù)據(jù)庫(kù)加載失敗的有一個(gè)原因就是,在建立的數(shù)據(jù)庫(kù)用戶登陸時(shí),擁有個(gè)用戶安全性問題,我們就需要對(duì)其驗(yàn)證密碼進(jìn)行設(shè)置,可以為空,也可以不為空。在Java程序中一定要保證用數(shù)據(jù)庫(kù)戶名及其用戶密碼是一致的。那樣就不容易出錯(cuò)了。2、對(duì)程序及所完成系統(tǒng)進(jìn)行測(cè)試本軟件使用前需先配置環(huán)境變量,我們主要使用的環(huán)境是在eclipse下執(zhí)行,需要在電腦上安裝jdk-6u1-

13、windows-i586-p并設(shè)置相應(yīng)的路徑。在classpath中設(shè)置JDBC驅(qū)動(dòng)的路徑和程序的路徑,并在數(shù)據(jù)庫(kù)中新建與程序中允許登陸的用戶名相同的用戶,該用戶需具有所有權(quán)限。運(yùn)行主類control即可進(jìn)入主界面,地址是,用戶名是kokone,這兩者是默認(rèn)的。登陸密碼為,登陸后用戶可根據(jù)自己需要進(jìn)行各項(xiàng)操作。由于編寫時(shí)間較短,未對(duì)用戶輸入格式進(jìn)行相關(guān)限制。所以在輸入信息時(shí)建議用戶按正確的方式輸入。1) 運(yùn)行control后出現(xiàn)的主界面2) 點(diǎn)擊登錄并輸入密碼3) 分別點(diǎn)擊注銷和退出4) 司機(jī)信息的添加和查詢5) 車輛信息的添加和查詢6) 運(yùn)營(yíng)信息的添加和查詢7) 車輛維修信

14、息的添加和查詢8) 車輛事故的添加和查詢四、 總結(jié)和體會(huì)這次課程設(shè)計(jì)我做的是章節(jié)自測(cè)系統(tǒng), 主要是服務(wù)于學(xué)生進(jìn)行階段性自測(cè)和練習(xí)。系統(tǒng)分為練習(xí)和測(cè)試兩部分,每一部分又各分若干專題。系統(tǒng)中采用的技術(shù)主要有:JDBC數(shù)據(jù)庫(kù)連接技術(shù)、和MVC三層架構(gòu)利用MyEclipse集成開發(fā)環(huán)境。雖然系統(tǒng)的基本功能都已實(shí)現(xiàn),但還是存在系統(tǒng)不穩(wěn)定等多個(gè)問題尚待解決。這個(gè)系統(tǒng)主要是我自己開發(fā)的,但也得到了老師和同學(xué)的很大幫助。我正在做系統(tǒng)的過程中遇到了很多問題,有的是知識(shí)存儲(chǔ)不足,有的是考慮不夠周全,之所以能夠順利實(shí)現(xiàn)基本功功能,離不開老師和同學(xué)的大力相助。事實(shí)證明,只靠自己是不能順利完成一套功能完整的系統(tǒng)的,必須

15、充分利用團(tuán)隊(duì)的力量。開發(fā)一套系統(tǒng),最重要的是細(xì)心,并不是一定要做到面面俱到,但也要充分考慮到客戶的需求和現(xiàn)實(shí)意義,不管什么系統(tǒng),只用運(yùn)用到實(shí)際應(yīng)用中,才具有先現(xiàn)實(shí)意義。所以在準(zhǔn)備工作中要正確分析社會(huì)需求了解現(xiàn)實(shí)應(yīng)用,畫出流程圖,把大體框架做好,然后再逐一細(xì)化。我們不可能做到面面俱到,但一定要做到步步扎實(shí),作為一個(gè)程序編程人員,要保持清醒的頭腦,以現(xiàn)實(shí)為依據(jù),讓自己的每一行代碼都能實(shí)現(xiàn)自己的意義。 通過這次課程設(shè)計(jì),我收獲的不僅僅是課程上的知識(shí)得到實(shí)際應(yīng)用,還有編程的基本習(xí)慣和開發(fā)系統(tǒng)時(shí)應(yīng)注意的流程。五、 參考文獻(xiàn)1 呂鳳羽、馬皓JAVA程序設(shè)計(jì)清華大學(xué)出版社2 耿祥義 JAVA課程設(shè)

16、計(jì) 清華大學(xué)出版3 黃小東 Java課程設(shè)計(jì)案例精編中國(guó)水利水電出版社4 印旻 Java與面向?qū)ο蟪绦蛟O(shè)計(jì)清華大學(xué)出版社六、 附錄主要源程序:主程序control:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.io.*;import .*;import java.util.*;import java.util.Date;import java.sql.*;import java.applet.Applet;import java.*;pu

17、blic class control extends JFrame implements ActionListener public static Image icon;/程序圖標(biāo) public static JLabel status; public static JButton b1,b2,b3,b4,b5,b6,b7,b8; JLabel time0,time1,time2,time3;/建立菜單 JMenuBar jmenubar=new JMenuBar();/建立菜單組 JMenu startmenu=new JMenu("開始");/建立菜單項(xiàng) public

18、static JMenuItem b7item=new JMenuItem("登錄"); public static JMenuItem b1item=new JMenuItem("司機(jī)信息管理"); public static JMenuItem b2item=new JMenuItem("車輛信息管理"); public static JMenuItem b3item=new JMenuItem("運(yùn)營(yíng)信息管理"); public static JMenuItem b4item=new JMenuItem(&q

19、uot;車輛維修信息管理"); public static JMenuItem b5item=new JMenuItem("事故信息管理"); public static JMenuItem b6item=new JMenuItem("注銷"); public static JMenuItem b8item=new JMenuItem("退出"); JMenu helpmenu=new JMenu("幫助"); JMenuItem helpitem=new JMenuItem("幫助"

20、);/ Graphics g; /框架的大小 Dimension facesize=new Dimension(1000,700); JPanel downpanel,timepanel; GridBagLayout gridbag; GridBagConstraints gridbagcon; public control() Container contentpane=getContentPane();/一般的 Abstract Window Toolkit(AWT) /容器對(duì)象是一個(gè)可包含其他 AWT 組件的組件。contentpane.setLayout(new BorderLayou

21、t(); /添加菜單欄 startmenu.add(b7item); startmenu.add(b1item); startmenu.add(b2item); startmenu.add(b3item); startmenu.add(b4item); startmenu.add(b5item); startmenu.add(b6item); startmenu.add(b8item); jmenubar.add(startmenu); helpmenu.add(helpitem); jmenubar.add(helpmenu); setJMenuBar(jmenubar); /初始化時(shí)令停止

22、服務(wù)按鈕不可用 b1item.setEnabled(false); b2item.setEnabled(false); b3item.setEnabled(false); b4item.setEnabled(false); b5item.setEnabled(false); /為菜單欄添加事件監(jiān)聽 b7item.addActionListener(this); b1item.addActionListener(this); b2item.addActionListener(this); b3item.addActionListener(this); b4item.addActionListen

23、er(this); b5item.addActionListener(this); b6item.addActionListener(this); b8item.addActionListener(this); helpitem.addActionListener(this); status=new JLabel("WELCOME"); status.setFont(new Font("宋體", Font.BOLD, 20);/ 設(shè)置標(biāo)簽中的文字為宋體、粗體、14號(hào) status.setForeground(new Color(100, 0, 255);

24、/ 設(shè)置標(biāo)簽中的文字為紅色 status.setHorizontalAlignment(SwingConstants.CENTER);/ 設(shè)置標(biāo)簽中的文字居中顯示 b1=new JButton("司機(jī)信息管理"); b1.setEnabled(false); b2=new JButton("車輛信息管理"); b2.setEnabled(false); b3=new JButton("運(yùn)營(yíng)信息管理"); b3.setEnabled(false); b4=new JButton("車輛維修信息管理"); b4.set

25、Enabled(false); b5=new JButton("事故信息管理"); b5.setEnabled(false); b8=new JButton("登錄"); b6=new JButton("注銷"); b6.setEnabled(false); b7=new JButton("退出"); time0=new JLabel(); time0.setFont(new Font("宋體", Font.BOLD, 12); time0.setText(" 今天是:");

26、 time1=new JLabel(); time1.setFont(new Font("宋體", Font.BOLD, 12); time1.setForeground(new Color(120, 1, 120);/ 設(shè)置標(biāo)簽中的文字顏色 time1.setHorizontalAlignment(SwingConstants.CENTER);/ 設(shè)置標(biāo)簽中的文字居中顯示 time1.setText(Today.getDateOfShow(); time2=new JLabel(); time2.setFont(new Font("宋體", Font.

27、BOLD, 12); time2.setForeground(new Color(120, 1, 120);/ 設(shè)置標(biāo)簽中的文字顏色 time2.setHorizontalAlignment(SwingConstants.CENTER);/ 設(shè)置標(biāo)簽中的文字居中顯示 time2.setText(Today.getDayOfWeek(); time3=new JLabel(); time3.setFont(new Font("宋體", Font.BOLD, 14);/ 設(shè)置標(biāo)簽中的文字為宋體、粗體、14號(hào) time3.setForeground(new Color(120,

28、1, 120);/ 設(shè)置標(biāo)簽中的文字顏色 time3.setHorizontalAlignment(SwingConstants.CENTER);/ 設(shè)置標(biāo)簽中的文字居中顯示 new Time().start();/ 開啟線程 Calendar now; int hour; int minute; int second;now = Calendar.getInstance();hour = now.get(Calendar.HOUR_OF_DAY);minute = now.get(Calendar.MINUTE);second = now.get(Calendar.SECOND);time3

29、.setText(hour + ":" + minute + ":" + second); /添加按鈕時(shí)間的監(jiān)聽 b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); b7.addActionListener(this); b8.addActionListener(this);

30、/添加系統(tǒng)的背景圖案 JPanel downpanel=new JPanel(); JPanel timepanel=new JPanel(); GridBagLayout gridbag=new GridBagLayout(); downpanel.setLayout(gridbag); timepanel.setLayout(gridbag); JLabel topLabel = new JLabel(); topLabel.setPreferredSize(new Dimension(0, 100); topLabel.setHorizontalAlignment(SwingConsta

31、nts.CENTER); URL topUrl = this.getClass().getResource("enter1.gif"); ImageIcon topIcon = new ImageIcon(topUrl); topLabel.setIcon(topIcon); getContentPane().add(topLabel, BorderLayout.CENTER); gridbagcon=new GridBagConstraints(); gridbagcon.gridx=0; gridbagcon.gridy=0; gridbagcon.insets=new

32、 Insets(2,2,2,2); gridbagcon.ipadx=80; gridbagcon.ipady=40; gridbag.setConstraints(b1,gridbagcon); downpanel.add(b1); gridbagcon=new GridBagConstraints(); gridbagcon.gridx=0; gridbagcon.gridy=1; gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.ipadx=80; gridbagcon.ipady=40; gridbag.setConstraints(b

33、2,gridbagcon); downpanel.add(b2); gridbagcon=new GridBagConstraints(); gridbagcon.gridx=0; gridbagcon.gridy=2; gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.ipadx=80; gridbagcon.ipady=40; gridbag.setConstraints(b3,gridbagcon); downpanel.add(b3); gridbagcon=new GridBagConstraints(); gridbagcon.gr

34、idx=0; gridbagcon.gridy=3; gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.ipadx=55; gridbagcon.ipady=40; gridbag.setConstraints(b4,gridbagcon); downpanel.add(b4); gridbagcon=new GridBagConstraints(); gridbagcon.gridx=0; gridbagcon.gridy=4; gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.ipadx=8

35、0; gridbagcon.ipady=40; gridbag.setConstraints(b5,gridbagcon); downpanel.add(b5); gridbagcon=new GridBagConstraints(); gridbagcon.gridx=0; gridbagcon.gridy=6; gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.ipadx=120; gridbagcon.ipady=40; gridbag.setConstraints(b6,gridbagcon); downpanel.add(b6); g

36、ridbagcon=new GridBagConstraints(); gridbagcon.gridx=0; gridbagcon.gridy=7; gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.ipadx=120; gridbagcon.ipady=40; gridbag.setConstraints(b7,gridbagcon); downpanel.add(b7); gridbagcon=new GridBagConstraints(); gridbagcon.gridx=0; gridbagcon.gridy=5; gridbag

37、con.insets=new Insets(2,2,2,2); gridbagcon.ipadx=120; gridbagcon.ipady=40; gridbag.setConstraints(b8,gridbagcon); downpanel.add(b8); gridbagcon=new GridBagConstraints(); gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.fill=GridBagConstraints.HORIZONTAL; gridbagcon.anchor=GridBagConstraints.SOUTHWE

38、ST; gridbagcon.ipadx=20; gridbagcon.ipady=20; gridbag.setConstraints(time0,gridbagcon); timepanel.add(time0); gridbagcon=new GridBagConstraints(); gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.fill=GridBagConstraints.HORIZONTAL; gridbagcon.anchor=GridBagConstraints.SOUTHWEST; gridbagcon.ipadx=20

39、; gridbagcon.ipady=20; gridbag.setConstraints(time1,gridbagcon); timepanel.add(time1); gridbagcon=new GridBagConstraints(); gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.fill=GridBagConstraints.HORIZONTAL; gridbagcon.anchor=GridBagConstraints.SOUTHWEST; gridbagcon.ipadx=20; gridbagcon.ipady=20;

40、gridbag.setConstraints(time2,gridbagcon); timepanel.add(time2); gridbagcon=new GridBagConstraints(); gridbagcon.insets=new Insets(2,2,2,2); gridbagcon.fill=GridBagConstraints.HORIZONTAL; gridbagcon.anchor=GridBagConstraints.SOUTHWEST; gridbagcon.ipadx=20; gridbagcon.ipady=20; gridbag.setConstraints(

41、time3,gridbagcon); timepanel.add(time3); contentpane.add(status,BorderLayout.NORTH); contentpane.add(downpanel,BorderLayout.WEST); contentpane.add(timepanel,BorderLayout.SOUTH); /添加框架的關(guān)閉事件處理this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.pack();/設(shè)置窗口屬性this.setCursor(Cursor.getPredefinedCurs

42、or(Cursor.CROSSHAIR_CURSOR);/設(shè)置框架的大小 this.setSize(facesize);/設(shè)置程序窗口的位置Dimension screensize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation(int)(screensize.width-facesize.getWidth()/2, (int)(screensize.height-facesize.getHeight()/2); this.setResizable(true); this.setTitle("車輛管理信息系統(tǒng)

43、");this.show(); /程序圖標(biāo)icon=getImage("note1.jpg");this.setIconImage(icon);/設(shè)置程序圖標(biāo)show(); /關(guān)閉程序時(shí)的操作this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent i)System.exit(0); ); /事件處理 public void actionPerformed(ActionEvent e) Object obj=e.getSource(); if(obj=b1|ob

44、j=b1item) /司機(jī)管理 driver d1=new driver(this); d1.show(); else if(obj=b2|obj=b2item) /車輛信息管理 carmessage d2=new carmessage(this); d2.show(); else if(obj=b3|obj=b3item) /運(yùn)營(yíng)信息管理 carbusiness d3=new carbusiness(this); d3.show(); else if(obj=b4|obj=b4item) /車輛維修信息管理 carrepair d4=new carrepair(this); d4.show(

45、);else if(obj=b5|obj=b5item) /事故信息管理 caraccident d4=new caraccident(this); d4.show(); else if(obj=b8|obj=b7item) /調(diào)出登錄設(shè)置的對(duì)話框enter d7=new enter(this);d7.show();else if(obj=b6|obj=b6item) /注銷int j=JOptionPane.showConfirmDialog(this,"真的注銷嗎?","注銷",JOptionPane.YES_OPTION,JOptionPane.Q

46、UESTION_MESSAGE); if(j=JOptionPane.YES_OPTION) /注銷 boolean closing=JDBC.closeConnection(); if(closing=true) b1item.setEnabled(false); b2item.setEnabled(false); b3item.setEnabled(false); b4item.setEnabled(false); b5item.setEnabled(false); b6item.setEnabled(false); b8item.setEnabled(true); b7item.setE

47、nabled(true); b1.setEnabled(false); b2.setEnabled(false); b3.setEnabled(false); b4.setEnabled(false); b5.setEnabled(false); b6.setEnabled(false); b7.setEnabled(true); b8.setEnabled(true); enter.t1.setText(""); enter.t2.setText(""); enter.t3.setText(""); else JO

48、ptionPane.showMessageDialog(null, "注銷失敗,請(qǐng)檢查原因!","友情提示", JOptionPane.INFORMATION_MESSAGE); return; else if(obj=helpitem)/菜單欄中的幫助/調(diào)出幫助對(duì)話框Help helpDialog=new Help(this);helpDialog.show();else if(obj=b7|obj=b8item)/退出程序int j=JOptionPane.showConfirmDialog(this,"真的要退出嗎?",&quo

49、t;退出",JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE);if(j=JOptionPane.YES_OPTION)boolean closing=JDBC.closeConnection();System.out.println("安全退出!"); System.exit(0); /通過給定的文件名獲得圖像Image getImage(String filename)URLClassLoader urlloader=(URLClassLoader)this.getClass().getClassLoade

50、r();URL url=null;Image image=null;url=urlloader.findResource(filename);image=Toolkit.getDefaultToolkit().getImage(url);MediaTracker mediatracker=new MediaTracker(this);try mediatracker.addImage(image,0); mediatracker.waitForID(0); catch(InterruptedException _ex)image=null;if(mediatracker.isErrorID(0

51、) image=null; return image; class Time extends Thread / 創(chuàng)建內(nèi)部類public void run() / 重構(gòu)父類的方法while (true) Date date = new Date();/ 創(chuàng)建日期對(duì)象time3.setText(date.toString().substring(11, 19);/ 獲取當(dāng)前時(shí)間,并顯示到時(shí)間標(biāo)簽中try Thread.sleep(1000);/ 令線程休眠1秒 catch (InterruptedException e) e.printStackTrace(); public static voi

52、d main(String args)control aww=new control(); 登錄程序enter:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import javax.swing.event.*;import java.io.*;import .*;import java.util.Vector;import java.*;public class enter extends JDialog public static JLabel j1,j2,j3;/地址,用戶名,密碼 public static JTextField t1,t2; public static JPasswordField t3;/密碼輸入框 public static String logip; public static String loguser; public static String logpass; Dao dao=Dao.getInstance(); JButton log,esc;/登錄、取消按鈕 /框架的大小 Dimension facesize=new Dimension(400,200); /布局管理器

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論