版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、/ 車輛管理系統(tǒng) package javaapplication27; import javax.swing.*;import java.io.*; import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.filechooser.*; import java.io. FileInputStream/3.4CarPicture 類class CarPicture extends JPanel File imageFile;Toolkit tool;public CarPicture() too
2、l=getToolkit();public void setImage( File imageFile) this .imageFile=imageFile;repaint();Overridepublic void paintComponent( Graphics g) super .paintComponent(g);int w=getBounds().width;int h=getBounds().height;if (imageFile!= null ) Image image=tool.getImage(imageFile.getAbsolutePath(); g.drawImage
3、(image, 0,0,w,h, this );/3.3Car 類class Car implements Serializable String number,name,discipling,grade,borth,sex;File imagePic;public void setNumber( String number) this .number=number;public String getNumber() return number;public void setName( String name) this .name=name;public String getName() r
4、eturn name;public void setDiscipling( String discipling) this .discipling=discipling;public String getDiscipling() return discipling;public void setGrade( String grade) this .grade=grade;public String getGrade() return grade;public void setBorth( String borth) this .borth=borth;public String getBort
5、h() return borth;public void setSex( String sex) this .sex=sex;public String getSex() return sex;public void setImagePic( File image) imagePic=image;public File getImagePic() return imagePic;/3.5InputCar 類class InputCar extends JPanel implements ActionListener Car 車主 =null ;CarPicture pic;HashMap<
6、;String ,Car> 基本信息表 =null ;JTextField 車牌號 , 購車公司 , 購車時間 ; JButton選擇照片 ;JComboBox 檔次 ; JRadioButton男, 女 ;ButtonGroup group= null ; JButton 錄入 , 重置 ;FileInputStream inOne= null ; ObjectInputStream inTwo= null ; FileInputStream outOne= null ; ObjectOutputStream outTwo= null ; File systemFile,imagePi
7、c; public InputCar( File file) systemFile=file;pic= newCarPicture(); 車牌號 =new JTextField(5);=new JTextField(5);檔次 =new JComboBox();try FileReader inOne = new FileReader ( " 專業(yè) .txt" ); BufferedReader inTwo = new BufferedReader (inOne); String s = null ;int i=0;while (s=inTwo.readLine()!= n
8、ull ) 檔次 .addItem(s);inOne.close(); inTwo.close();catch ( IOException exp) 檔次.addltem("高級"); 檔次 .addItem( "中高級 ");檔次.addltem("中級”); 檔次 .addltem( "中低級 ");檔次.addltem("普通”); 購車公司 =new JTextField(5); 購車時間 =new JTextField(5); 選擇照片 =new JButton( "選擇 "); gr
9、oup= new ButtonGroup();男=new JRadioButton("男",true ); 女=new JRadioButton("女",true );group.add(男);group.add(女);錄入=new JButton("錄入");重置=new JButton("重置"); 錄入 .addActionListener( this ); 選擇照片 .addActionListener( this ); 重置 .addActionListener( this );Box box1=Box.
10、createHorizontalBox();box1.add( new JLabel( "車牌號: " ,JLabel.CENTER);box1.add(車牌號 );Box box2=Box.createHorizontalBox();box2.add( new JLabel( "車主: " ,JLabel.CENTER); box2.add();Box box3=Box.createHorizontalBox();box3.add( new JLabel( " 車主性別: " ,JLabel.CENTER);box3.add(男 )
11、;box3.add(女 );Box box4=Box.createHorizontalBox();box4.add( new JLabel( " 車輛檔次: " ,JLabel.CENTER);box4.add(檔次 );Box box5=Box.createHorizontalBox();box5.add( new JLabel( " 購車公司: " ,JLabel.CENTER);box5.add( 購車公司 );Box box6=Box.createHorizontalBox();box6.add( new JLabel( " 購車時間:
12、 " ,JLabel.CENTER);box6.add( 購車時間 );Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue();JPanel picPanel=newJPanel();picPanel.setBackground( Color .green);picPanel.add(new JLabel( " 選擇照片
13、: " ,JLabel.CENTER);picPanel.add(JPanel putButton=putButton.add(選擇照片 ); new JPanel();錄入 );putButton.add(重置);JPanel messPanel=new JPanel();messPanel.add(boxH);messPanel.setBackground(Color .cyan);putButton.setBackground(Color .red);setLayout( new BorderLayout ();JSplitPane splitV=new JSplitPane(
14、JSplitPane.VERTICAL_SPLIT,picPanel,pic);JSplitPane splitH=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,messPanel,splitV);add(splitH, BorderLayout .CENTER);add(putButton, validate();BorderLayout .SOUTH);public void actionPerformed( ActionEvent e)if (e.getSource()= 錄入 )String number= "" ;numbe
15、r= 車牌號 .getText();if (number.length()>0)try inOne =new FileInputStream (systemFile);inTwo =new ObjectInputStream (inOne);基本信息表 =(HashMap<String ,Car>)inTwo.readObject(); inOne.close(); inTwo.close();catch ( Exception ee)if ( 基本信息表 .containsKey(number)String warning= " 該生基本信息已存在,請到修改頁面修
16、改! JOptionPane.showMessageDialog( this ,warning, " 警告 ,JOptionPane.WARNING_MESSAGE);else String m="基本信息將被錄入!"int ok=JOptionPane.showConfirmDialog( this ,m, " 確認 ,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if (ok=JOptionPane.YES_OPTION)String name=.getText();String
17、 discipling=( String )檔次 .getSelectedItem();String grade= 購車公司 .getText();String borth= 購車時間 .getText();String sex= null ;if (男 .isSelected() sex=男 .getText();elsesex=女 .getText();車主 =newCar();車主 .setNumber(number);車主 .setName(name);車主 .setDiscipling(discipling);車主 .setGrade(grade);車主 .setBorth(bort
18、h);車主 .setSex(sex);車主 .setImagePic(imagePic);(systemFile);try FileOutputStream outOne=newFileOutputStream outTwo=new ObjectOutputStream (outOne);基本信息表 .put(number, 車主 );outTwo.writeObject(基本信息表 );outTwo.close();outOne.close();clearMess();catch ( Exception ee)else String warning= "必須要輸入學號! "
19、;JOptionPane.showMessageDialog( this ,warning, " 警告" ,JOptionPane.WARNING_MESSAGE);else if (e.getSource()= 選擇照片 )JFileChooser chooser= new JFileChooser();FileNameExtensionFilter filter= newFileNameExtensionFilter( "JPG&GIF Images" , "jpg" , "gif" );chooser
20、.setFileFilter(filter);int state=chooser.showOpenDialog( null );File choiceFile=chooser.getSelectedFile();if (choiceFile!= null &&state=JFileChooser.APPROVE_OPTION)選擇照片 .setText(choiceFile.getName(); imagePic=choiceFile;pic.setImage(imagePic);pic.repaint();else if (e.getSource()= 重置 )clearMe
21、ss();public void clearMess() 車牌號 .setText( null );.setText( null );購車公司 .setText( null );購車時間 .setText( null ); 選擇照片 .setText( " 選擇 ");imagePic= null ;pic.setImage(imagePic);pic.repaint();/3.6inquset 類class Inquest extends JDialog implements ActionListener CarPicture pic;PrintJob print;Gra
22、phics g= null ;HashMap<String ,Car> 基本信息表 ;JTextField 車牌號 , 檔次 , 購車公司 , 購車時間 ; JRadioButton男, 女 ;JButton 查詢 , 打印文本及照片 , 打印文本 , 打印照片 ; ButtonGroup group= null ;FileInputStream inOne= null ;ObjectInputStream inTwo= null ;File systemFile= null ;JPanel messPanel;Car stu;public Inquest( File file)
23、setTitle(" 查詢對話框 ");setModal( false );systemFile=file; pic = newCarPicture();車牌號 =new JTextField(6); 查詢 =newJButton( " 查詢 ");車牌號 .addActionListener( this ); 查詢 .addActionListener( this );打印文本及照片 =new JButton( "打印文本及照片 "); 打印文本 =newJButton( " 打印文本 "); 打印照片 =new
24、JButton( " 打印照片 ");打印文本及照片 .addActionListener( this ); 打印文本 .addActionListener( this ); 打印照片 .addActionListener( this );打印文本及照片 .setEnabled( false ); 打印文本 .setEnabled( false ); 打印照片 .setEnabled( false );= newJTextField(5); .setEditable( false );檔次 =newJTextField(5); 檔次 .setEditable( false
25、); 購車公司 =newJTextField(5); 購車公司 .setEditable( false );購車時間 =newJTextField(5); 購車時間 .setEditable( false );男=new JRadioButton("男",false );女=new JRadioButton("女",false );group= new ButtonGroup();group.add(男 );group.add( 女);Box box1=Box.createHorizontalBox();box1.add(new JLabel( &quo
26、t;車牌號 :" ,JLabel.CENTER);box1.add( 車牌號 );box1.add( 查詢 );Box box2=Box.createHorizontalBox();box2.add(new JLabel( "車主:" ,JLabel.CENTER);box2.add();Box box3=Box.createHorizontalBox();box3.add(new JLabel( "性別:" ,JLabel.CENTER);box3.add(男);box3.add( 女);Box box4=Box.createHorizont
27、alBox();box4.add(new JLabel( "檔次:" ,JLabel.CENTER);box4.add( 檔次 );Box box5=Box.createHorizontalBox();box5.add(new JLabel( "購車公司 :" ,JLabel.CENTER);box5.add( 購車公司 );Box box6=Box.createHorizontalBox();box6.add(new JLabel( "購車時間 :" ,JLabel.CENTER);box6.add( 購車時間 );Box boxH
28、=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);messPanel= new JPanel();messPanel.add(boxH);JSplitPane splitH= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,messPanel,pic);add(splitH, BorderLayout .CENTER);JPanel pSouth= new JPanel();pS
29、outh.add( 打印文本及照片 );pSouth.add( 打印文本 );pSouth.add( 打印照片 );add(pSouth, BorderLayout .SOUTH);validate();setVisible( false );setSize(360,230);addWindowListener( new WindowAdapter ()Overridepublic void windowClosing( WindowEvent e)setVisible( false ););public void actionPerformed( ActionEvent e)if (e.ge
30、tSource()= 查詢 |e.getSource()= 車牌號 )String number= "" ;number= 車牌號 .getText();if (number.length()>0)try inOne=new FileInputStream (systemFile);inTwo=new ObjectInputStream (inOne);基本信息表 =(HashMap<String ,Car>)inTwo.readObject();inOne.close();inTwo.close();catch ( Exception ee)if ( 基
31、本信息表 .containsKey(number)stu= 基本信息表 .get(number);.setText(stu.getName();檔次 .setText(stu.getDiscipling();購車公司 .setText(stu.getGrade(); 購車時間 .setText(stu.getBorth();if (stu.getSex().equals("男")男 .setSelected( true );else女 .setSelected( true );pic.setImage(stu.getImagePic();pic.repaint();打印文本
32、及照片 .setEnabled( true ); 打印文本 .setEnabled( true ); 打印照片 .setEnabled( true );else 打印文本及照片 .setEnabled( false ); 打印文本 .setEnabled( false ); 打印照片 .setEnabled( false );String warning= " 該車牌號不存在 !" ;JOptionPane.showMessageDialog( this ,warning, " 警告 ,JOptionPane.WARNING_MESSAGE);clearMess(
33、);else 打印文本及照片 .setEnabled( false );打印文本 .setEnabled( false );打印照片 .setEnabled( false );String warning= " 必須要輸入車牌號 !" ;JOptionPane.showMessageDialog( this ,warning, " 警告 " , JOptionPane.WARNING_MESSAGE);else if (e.getSource()= 打印文本及照片 )try print=getToolkit().getPrintJob( newJFram
34、e(), " 打印 ", new Properties (); g=print.getGraphics();g.translate(120,200);int w=messPanel.getBounds().width;messPanel.printAll(g);g.translate(w,0);pic.printAll(g);.setText(stu.getName();g.dispose();print.end();catch ( Exception exp)else if (e.getSource()= 打印文本 )try print=getToolkit().getP
35、rintJob( newJFrame(), " 打印 ", new Properties (); g=print.getGraphics();g.translate(120,200);messPanel.printAll(g);g.dispose();print.end();catch ( Exception exp)else if (e.getSource()= 打印照片 ) try print=getToolkit().getPrintJob( newJFrame(), " 打印 ", new Properties (); g=print.getGr
36、aphics();int w=messPanel.getBounds().width; g.translate(120+w,200);pic.printAll(g); g.dispose(); print.end(); catch ( Exception exp)public void clearMess() 車牌號 .setText( null );.setText( null ); 購車公司 .setText( null ); 購車時間 .setText( null ); 檔次 .setText( null ); pic.setImage( null ); pic.repaint();/3
37、.8Delete 類class Delete extends JPanel implements ActionListener HashMap< String ,Car> 基本信息表 =null ;JTextField 車牌號 , 檔次 , 購車公司 , 購車時間 ; JRadioButton 男 , 女 ;JButton 刪除 ;ButtonGroup group= null ; FileInputStream inOne= null ; ObjectInputStream inTwo= null ; FileOutputStream outOne= null ; ObjectO
38、utputStream outTwo= null ; File systemFile= null ; public Delete( File file) systemFile=file;車牌號 =newJTextField(10);刪除=new JButton("刪除”);車牌號 .addActionListener( this ); 刪除 .addActionListener( this );= new JTextField(10); .setEditable(false );檔次 =new JTextField(10); 檔次 .setEditable( false );購車公司
39、 =new JTextField(10); 購車公司 .setEditable( false );購車時間 =new JTextField(10); 購車時間 .setEditable( false );男=newJRadioButton("男",false );女=newJRadioButton("女",false );group= new ButtonGroup();group.add(男 );group.add(女);Box box1=Box.createHorizontalBox();box1.add(new JLabel("輸入要刪除
40、的車牌號:",JLabel.CENTER);box1.add(車牌號 );box1.add(刪除 );Box box2=Box.createHorizontalBox();box2.add(new JLabel("車主:",JLabel.CENTER);box2.add();Box box3=Box.createHorizontalBox();box3.add(new JLabel("性別:",JLabel.CENTER);box3.add(男 );box3.add(女);Box box4=Box.createHorizontalBox();b
41、ox4.add(new JLabel("檔次:",JLabel.CENTER);box4.add(檔次 );Box box5=Box.createHorizontalBox();box5.add(new JLabel("購車公司:",JLabel.CENTER);box5.add(購車公司 );Box box6=Box.createHorizontalBox();box6.add(new JLabel("購車時間:",JLabel.CENTER);box6.add(購車時間 );Box boxH=Box.createVerticalB
42、ox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6); boxH.add(Box.createVerticalGlue();JPanel pCenter= newJPanel(); pCenter.add(boxH);setLayout( new BorderLayout ();add(pCenter, BorderLayout .CENTER);validate();public void actionPerformed( ActionEvent e)if
43、(e.getSource()= 刪除 |e.getSource()=車牌號 )String number= "" ;number= 車牌號 .getText();if (number.length()>0)try inOne=new FileInputStream (systemFile);inTwo=new ObjectInputStream (inOne);基本信息表 =( HashMap)inTwo.readObject();inOne.close();inTwo.close();catch ( Exception ee)if ( 基本信息表 .contains
44、Key(number)Car stu=(Car) 基本信息表 .get(number);.setText(stu.getName();檔次 .setText(stu.getDiscipling(); 購車公司 .setText(stu.getGrade(); 購車時間 .setText(stu.getBorth();if (stu.getSex().equals(" 男")男 .setSelected( true );else女 .setSelected( true );String m="確定要刪除該車牌號及全部信息嗎?"int ok=JOptionP
45、ane.showConfirmDialog( this ,m, " 確認,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if (ok=JOptionPane.YES_OPTION) 基本信息表 .remove(number);try outOne=new FileOutputStream (systemFile);outTwo=new ObjectOutputStream (outOne);outTwo.writeObject(基本信息表 );outTwo.close();outOne.close();車牌號 .set
46、Text( null );.setText(null );檔次 .setText( null );購車公司 .setText( null );購車時間 .setText( null );catch (Exception ee)else if (ok=JOptionPane.NO_OPTION) 車牌號 .setText( null );.setText(null );檔次 .setText( null ); 購車公司 .setText( null );購車時間 .setText( null );else String waring= " 該車牌號不存在! "JOptionP
47、ane.showMessageDialog( this ,waring, " 警告 " ,JOptionPane.WARNING_MESSAGE);車牌號 .setText( null );else String waring= " 該車牌號不存在! "JOptionPane.showMessageDialog( this ,waring, " 警告" ,JOptionPane.WARNING_MESSAGE);/3.7ModifySituation 類class ModifySituation extends JPanel impl
48、ements ActionListener CarPicture pic;HashMap<String ,Car> 基本信息表 =null ;JTextField 車牌號 , 購車公司 , 購車時間 ;JComboBox 檔次 ;JButton 選擇照片 ;JRadioButton 男, 女 ;ButtonGroup group= null ;JButton 開始修改 , 錄入修改 , 重置 ; FileInputStream inOne= null ;ObjectInputStream inTwo= null ; FileOutputStream outOne= null ;Ob
49、jectOutputStream outTwo= null ;File systemFile,imagePic;JComboBox oldMess;Car stu= null ;public ModifySituation( File file) systemFile=file; pic= newCarPicture(); 車牌號 =new JTextField(6); =new JTextField(6);檔次 =new JComboBox();try FileReader inOne= new FileReader (" 檔次 .txt" );BufferedReade
50、r intwo= new BufferedReader (inOne);String s= null ;int i=0;while (s=inTwo.readLine()!= null )檔次 .addItem(s);inOne.close();inTwo.close();catch ( IOException exp)檔次 .addItem( "高級 ");檔次 .addItem( " 中高級 ");檔次 .addItem( " 中級 ");檔次 .addItem( " 中低級 "); 檔次 .addItem(
51、" 普通 ");購車公司 =new JTextField(6);購車時間 =new JTextField(6);選擇照片 =new JButton( " 選擇 ");group= newButtonGroup();男=new JRadioButton("男",true );女=new JRadioButton("女",false );group.add( 男 );group.add( 女);oldMess= newJComboBox();開始修改 =new JButton( "開始修改 ");錄
52、入修改 =new JButton( "錄入修改 ");錄入修改 .setEnabled( false );選擇照片 .setEnabled( false );重置=new JButton("重置”);車牌號 .addActionListener( this );開始修改 .addActionListener(this );錄入修改 .addActionListener(this );重置 .addActionListener( this );選擇照片 .addActionListener( this );Box box1=Box.createHorizontalB
53、ox();box1.add( new JLabel( "輸入要修改信息的車牌號:",JLabel.CENTER);box1.add( 車牌號 );box1.add( 開始修改 );Box box2=Box.createHorizontalBox();box2.add( new JLabel( "( 新)車主 :" ,JLabel.CENTER);box2.add();Box box3=Box.createHorizontalBox();box3.add( new JLabel( "(新)性別:" ,JLabel.CENTER);box
54、3.add( 男 );box3.add( 女 );Box box4=Box.createHorizontalBox();box4.add( new JLabel( "(新)檔次:" ,JLabel.CENTER);box4.add( 檔次 );Box box5=Box.createHorizontalBox();box5.add( new JLabel( "( 新)購車公司 :" ,JLabel.CENTER);box5.add( 購車公司 );Box box6=Box.createHorizontalBox();box6.add( new JLabel
55、( "( 新)購車時間 :" ,JLabel.CENTER);box6.add( 購車時間 );Box box7=Box.createHorizontalBox();box7.add( new JLabel( "車主已有的數(shù)據(jù) :" ,JLabel.CENTER); box7.add(oldMess);Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.
56、add(box7);boxH.add(Box.createVerticalGlue();JPanel picPanel= picPanel.setBackground( picPanel.add( picPanel.add(JPanel putBotton=new JPanel();Color .green);newJLabel( " 選擇照片 :" ,JLabel.CENTER); 選擇照片 );newJPanel();putBotton.setBackground( Color .yellow);putBotton.add(putBotton.add(錄入修改 ); 重
57、置);JPanel messPanel=newJPanel();messPanel.setBackground( Color .pink); messPanel.add(boxH);setLayout(JSplitPane splitV=JSplitPane splitH=new BorderLayout ();new JSplitPane(JSplitPane.VERTICAL_SPLIT,picPanel,pic);newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,messPanel,splitV);add(splitH, add(putBotton, validate();BorderLayout .CENTER);BorderLayout .SOUTH);public void actionPerformed( ActionEvent e)if (e.getSource()= 開始修改 |e.getSource()= 車牌號 ) oldMess.removeAllItems(); String number= "" ;imagePic= null ;number=車牌號.getText();if (number.length()>0)try inOne=new FileInputStream (systemFi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度冷鏈運輸冷庫冷藏車租賃及冷鏈解決方案合同2篇
- 2025年度進出口貨物國際貨運代理專項合同
- 二零二五年度影視制作合同律師咨詢服務費標準及版權(quán)管理
- 2025年度版權(quán)購買合同的版權(quán)范圍和購買價格9篇
- 2024羊代放牧與市場推廣合作合同3篇
- 基于科技的親子互動活動實踐總結(jié)
- 學校心理健康服務體系構(gòu)建與實踐
- 醫(yī)療健康領域中英語文化的傳播與教育
- 2024甲乙雙方小學生接送服務合同
- 小學美術教育中的情感表達與溝通
- 軍事理論(2024年版)學習通超星期末考試答案章節(jié)答案2024年
- 二年級下冊混合計算題100道及答案
- DBJ∕T 15-19-2020 建筑防水工程技術規(guī)程
- 2025屆浙江省杭州市學軍中學生物高一第一學期期末統(tǒng)考試題含解析
- 互助資金管理辦法
- 青島版科學四年級下冊課程綱要
- 金葡素注射液與血小板功能的關聯(lián)
- 澳門的英文5篇
- 財富:2024年《財富》世界500 強排行榜
- NB/T 11434.5-2023煤礦膏體充填第5部分:膠凝材料技術要求
- NB-T32036-2017光伏發(fā)電工程達標投產(chǎn)驗收規(guī)程
評論
0/150
提交評論