Java期末课程设计-超市进销存管理系统.docx
(1)功能模块划分:本进销存管理系统划分为六个模块,分别为系统登陆模块,系统主窗体设计模块,进货单模块,销售单模块,库存盘点模块和数据库备份与红原模块,数据库结构描述:企业进销存管理系统须要运用数据库存储和管理进销存过程中的全部信息,本企业进销存管理系统运用Access数据库系统作为后台数据库,数据库名称为db_database28。其中包含了14张数据表、两个视图。以下是系统主要涉及的六个数据库表:1.供应商信息表:主要用于存储供应商具体信息,其结构如下表所示:User表:三user3)userIdusernae!金莉舁password520u_text庭苏以我7默认管理员雨2root123root*0Handle表:StUff表:3*>XtViff1*uff.rutitf,cc<hfcj<*4ff-lXuHjX”皿.Bl,Mjlat«dt.detetuf“*”1/2im&rdfrroI代4ftf<«4f<tfn4dNl小r,八,rt1KA二"*>fc<B“2。1,r三m2iYield表:c*uff.rirtff/.Cc->jc.euff.11t<PfJvIpUrf2Pf:l11-8lBRtffj-UrfhGetuff.CDuff.naguff.e>aaiuff.pochcku*<,ciuff.0x2iu¢f.v)iu<f.rp*,8f.s1ftuf.plat<ic.d*t,空表等待插入数据。三.系统具体设计文档:1.系统流程图:(D系统功能结构图:企业进的存管理系统d.三-一进货退货¾料资本In库存盘点价格调整销售查询商品农询用伸推行土客Ir1I土经F人设置其他退出系统窗口意系琴能支杵访问技术网拈(2)系统业务流程图:92d>etPaintWradientPeicS;q2d.fIllRectlrOrwidth,b-ghtl;g2d,6lUgrlngH,mRfind。YingiHC3XEYAV?ZAXfASJRd*ringHlnt.VA1.UEAWJA1.JASOFF);Iprvat)avox.swing.JButtonnow)avx.swing.JButtoncIpcprivateAwing.JBuctoncaac1.a-newjavAx.£vln9.JButton(J04eprivatJFra11logo_?r<ww-nwJFrtneI2goonl;publicAddUserdI/TCOO门功生成胸瘠由敷存做txy(UIM0n4er.9et1.oAHdfi9e2州】Hana9«rg”C-P1efE/cA11dfd2Cla6Me(lI;Icatch!Exceptionexe><Syste.err.print<exe.gets三aell);,JFrJnQ.aBqCiHtjQKAndFcci>ecortadItr)Toolkittoolfl-logoFr116.g6t7oolklt);Irrcgelogo-tool9.9etlm09*(rwlo90j9w);logo-Fra11e-n«wJFrane<logon>lgo-Fr11e.setIconnago<logo1;jp.t1.ayoutln«vGridBa1.ayout(I);avx.swing.I9cIconplcnew)avax.swing.IagcIcon(wrc5logol.jpg-1yav×.J1.aIm1picture-nos)vx.suing.J1.balIplc);cetcCcpo11«nt(picture.O.O/OrIdbjjgConetraint.FJ1.ta3i双1.tru>3ova×.BWing.J1.abelusersnwjavax.swing.J1.afcel(U5erI;SQtufiCocrponent(uacrsrO,1.1,1.f«lsol;yav×.awl<yg.J1.dbe1a公-nwvA×.aclfy.J1.dbal(pjjh<ord;etcCcpo11nt(p0S,Or2.Itlzfalse);3ava.swing.J1.abe1CnPaBnewjavax.swing.J1.atoel(e11eerp>3);三otuf>Ccponnt(cnposrO,3.1,1,folsol:Ufidxlaxc-n*wjavAX.AMln9.J<xtFi61d(12;U8drl-reqvwtFocu11;u三er7e×t.ZicWKey1.istener<nwKey1.istener<1(publicvoidXcyTypcd(KcyE'ntQlIpxblicvoidZoyRolaqS(KoyEsnt)publicvoidc*yPre58ed<KyEve11te>(if«<e.jetKeChar(l-KeyEvent.vrKtiTRIS6Iuseriext.getTe×t<>.trn<!""userpl.rcqc3tFocu5()/U;stupCoponnt(U30roxt/ltlrlz1,IaImIiUAOxpMd-Mtfjav×.AUlng.JPAaflwordFiald(12>;it<<e.getKo>Ch<r(I-Ke*yEent.VATR)XStringu&ers-userTcxt.get7extI).tri11<>StringPMdBU5rp%cl.gotPassvordO.toStringil.trl.();StringdH)ncrAfl<ord.gtPflfiNrd(.CoStringO.trin);if<er.iEFty(l)IjV4x.wing.JOptonPene.1ogo-Pr*!wt必需归入用户名!"输入用户名-,JCptionPene.ERRoS_MESSAGE”fi<rxt.requoacFoeuflO;|if<pvd.ieEnptyD><jvax,awing.JOptionPene.h<5*Meerw9ePi(1ogo_Frf11et0?Rlil入室眄!”入史5rJOptionPane.EB0H-HE,SSA7>UgtrPKd.xoqg"Focg<):)if<epk»d.IsEnptyOIIjavax.5ving.JOptionFane.zhcssaqcDialeg(.IqqoJPtatcr”.次个*入宙0卜仍?KIj密-三MW>>H-r三Wftf-rJOptlonPano.EO-MFSSJkS>>nterpword.reqvetFocue11;Ibooleanb三DBUtll.X5£xi5t(3clc2tuscrnanc*rc<userwhereurnna-tw*Dar3*,;e<b(jdVAX.eving.JOptionPane.&adgeOislog(1ogo_Pr用户C经存*.i55外倏入!”J不便由M,JOPtionPane,2F0R,ME5SAG>usrxt.aat7xcwm>u”。Pwddctlt<*);entcrpassuord.&etext<w);uscrcxt.rcqucstFocus<>/)intvlr-DBUtil.7eC½l<JeI*selecter-n11cfrc<userwhereser-nan*-,*user8*w*1;lf<volc>O)<Stxirvgs】-ln6rtInto-rVi1.uaa<*vila*w,tu4irttwdt")";booleanbo-USeOB.VpdtCe(cqlI;£f(bo)JoPtionP.nedh<wCnfiEDiIo夕UgQ"用户,谭UI能利!"I;l>rodd.addAction1.i9t9nern*Action1.19t«n«r(IIpublicvoidaCtionPerforne'!IActionEventelIStringusers"srcxt.qctTcxt().tri11I);:F»4-uAxpwd.gcPAflvord<>.toStxltgr(.;d6tVCc*TPonent但tuf1,Utru;stuff_nane-n«wjavx.swing.J7extField<10);stuf-nanc.OddKcy1.istcncrIimvXcy1.istcnarOpublicvoidkyypd(KeyEvontO)IlpublicvoidkeyPre58ed<KyEve11te>(IpblcvoideyReleased(KeyEventelI12H.9<tKyCar(BKttyvcnt.7K_£Vr£R)”(stuffenaro.gotToxt(I.trl()!-AtuffnpAny.rqAtFacua();l>a。t守CCtfPOnOC匕(XtlUrfny,3r0,lvIrtrue;yav×.lnq.J1.ubA1SiEUrfCeaPanyINgl-MyjAV×.%<l119.J1.abal(wTft:w>8cttCoponent(stff_cc<rpany_labelf4r0,lt1,trul;3tuff-cc<panynewJavax.swlnq.JloxtFlcld<10);flturfjc<pny.AddKAy1.iflCanAr|n«wXoy1.fitoMt<)publicvoidkeyyped(KvyBvntelIIpublicvoid<eyPressed<KeyEvente>(IpublicvoidXcyRcleased(KcyEvcnta1£I11-KayEvent.VK-EVER)(cuff_coarany.«tT4xt(.Crlm()!-m)<tff-*opl*.r*t0c5<l;JIl>cetcCcpo11«nt-ff_CEF”ny,5,0,11,tru;jav«x.swin9.J1.ebeltuff-pe«ple-lbel-wjov4x.9win9.J1.ebel(*(kV.,.;3QtuCcponnt(sturf_pccplc_laboir6,0,G1,tru>.fltuffppl-newJaVaX.2*£罔.JTGXtF£。Id(IO):etuff_pvopl«.eddK«y1.ietenrowKey1.i«tener(IIpublicvoidkeyTyped(KeyE¾ntelIJpublicvoidXcyPrcsscd<KcyEvcntc>(iibllGvoidxayR«lAd(Kay£v«ntOJlifI<e.getKe>Ch(I-KeyEvent.VK-E*TXl“(tff-p*cple.9et7extO-txn<>!"wlIIcheck-people,requestFocus<I;IIl>三etvCcponentEufJpccpleJ.O*lr1*trl;Iovax.SKingaJ1.obalcckjoplvlabcl=nwivx.svin9.J1.abclet5sCcF11ent(ch«ck_p«*cple_labl,0.1*1/1.tru>;check-people-nw3ovax.cwiryg.JTextFieldIlOl;chck_pooplQ.addKy1.lstonernwKay1.lstcncrOpublicvoidZayTypod(KyEnta()UfltvpCotTponont(sntrr)3.U1.trv>Clddn-nwjova×.9win9.Button,fl登;clan.ddActlon1.15tQnQr<n®wActlon1.lstcncrO(PUblfevoidACtlonPetfornfiKl(ActlonEvent。|cleanI);I>2。t.卑CCaPonQC匕(clanr33.1,1,tc>encl6-nwvax.aMlr9.JButtan<"iHH>cancle.addAction1.istenerInAction1.istenerdIpublicvoidctlonPcrror11clIActlonEvcntcl1I»>;stuf>Ccponntgncl0.>3,1r1zCruoIjFpublicvoi4PdintconPOnentGrephiEg>(pr.pantCconent(gI;if(!IsOpsaquaO>roturnCtpTlcfl2D92d-(CPhIS2D)g;/¾ntrule-Alph4Cc*po:te.SPCJ>VBR;AlpbaCcxrpoBiteopaque-A1.phaCcnposite.SrcOver;/A1.phaConpos1Cqblend«AlphaCanposltc.QcclnstanccrulfO.6f>/XlphAConpofl116s>t-AlCc<p¢i.Sx;intwidth-9«tWidth(l;Intheight-getHcghtO;GradlcntPalnt9radlcntPaintnwCYadIontPalmQr0,J.awt.Co1or.giAitvidth2zl9ht24Java.awc.Color.ytUk4fal;q2d-eetjnpoite<opqe);g2d3ZPAintlg-tPaint);g2d.nilRQCt10rOrwidth,hclghtj2d.fitiU11d4irIngHint(RAndorN7ZAirASrYJrRandarln9Hinta.ZA1.OEAWriAtJXS,OFD;FprivatevoidsetuFCoor>ent<JCc<ponentco11pcnent,intqridx.Intgridyzintgridwidthr>ntipad×rbool411till)IfinalGxidBagCanfitrAlntfl9rIdEugConattAlnfi-miwGt14B。勺COnqtraSCC£);grdK59Contrin.gridx-grd;gr1dBa7C0natrain5.gridy-rdy;9ridB09C0n3trains,insets=new1vo.a<t.Insats.if(grididt>l>grIdBegConetreine.gridvidth-gridwidth;Iflipadx>OlgridBof7Constrains.Ipodx三lpadx;clean11;rturn;FSaql-dalatafronstuffinwhatAstuffID-"*dandfituffA11a-*nAar>,(rxltff-ccpe11y-ctxp9nyendtff-nt-nit;USeDB.0r>datePS(sqH;&ql"*ldt."tat*conpAy*r"(ol*rw*cXt*unitt,h*va1o*rcpd'.'JcoIor“JmE-l-dtmJ-,&ql-"insertintoBtuff_quitvalues<,*aql*hIw;USQDBW“QDBCqlclaan();)privatebooloanChQckValucJStrlngalIchar(-A.toChrArrAy();Int3-0;forlint1-0;i<ch.length;i*><ifHch(i)>,u002f,“<ci<u0040I(j”Fif13-ch.l<ngthlIrturntru;Frtumfalse;)privatebooleanChockDota(Stringst收效。”Uboolanbfal*;Stringtoken-st.splith;IflIchcckDateRoxgcxIatl)<ton.length三三31)if(IChACkVdlua(tokn0)>(ChackVa1u6<tok«n(1)“CoekVAlu0<tokAn(2)>(b-IS1.edPYear(tok511);IFrtuxnb;)privatebooleanIS1.eapYear!Stringstr)IIIntyearInteger.pjrrolnt(str0IIntar>onc-Intuit.paxSlnt(tr(l);int<Uy-Integer.p<rwZnC<tr2);bl411b-iffJwnt>O>“3X>nt<13)<if(nonth1)IargCBh3(ncnth5>(nonth-7>11(nonth8)11(nonth-10>11Ignth-12>1Iif<ctoy>O46day<32lIb-tr:I)olsif<(nonth4)11month三三6111month«9111month11>(if<Uy>Q“dy<31)(b-true;FIla(;&"iding.JCPtionP4ne8hokHeSggdoia2O?mil】.入恰说,只接收。至9之(H的?V7,ifl”tt!.mftWw,javax.win9.OptionPane.EFOK-MFSSA>productvlu.t7ft×tIm');projct-vle.requetFocu(I;publicvoidyylyped(KfyyEme«11IpublicvoidoyPrs30d<KeyEventc>(l>;8tCc>pD11ent(podct-v<lue.3rb1.Irtru;jav.w11g.J1.abelProdUCtJTdkeJ1.ibel-nwjvax.®ving.J1.ebel(z1.rft(,>stuf>Ccponnt(prod>三t-aXc-latoclr4,1.1,1,tru>productr>Aka-newjAvx.Kin9.JTaxtFialdIlO);pr。加ct_cdkeeddK刁y1.iutCCe:(11wKey1.iUteneX(Ilpublicvoid.<eyRelea三ed(KeyEventelIIfle.getKttyChor!>KayEvcnt.7K_EVTERproduct-nake.gotTQ×t11!,",IGt>xXds.SqgqtFOCglJ;IIpublicvoidKoyTyped(KcyEon.Q)IlPUblfevoidxyPxfifl<kd<XyEvAnt(l>;BetujJCarponent(DroduCj-S.Itlr1.trl;java.SWingtJ1.abeletock_date_lat*lnewjavax.swing.J1.abelIw,;aot*Cctfponocc(ACackIabaI.6,1,1.Utru;8tock-dte-nwjevax.swing.J*Te>tFi«ld<IO);etock_date.addKey1.iBtenerlnwKey1.ictenerDIpublicvoidXcyRclQasQdCKQyCvcntq)(ifI<A.9tK6yChr(-KayEvant.VKN>“<At<x*k/Uta.g«t7xt>.trln<>!-w)(if<Ch¢ckDat<etock_d4it.gt»trextO.trn(lIXprcduct-text.FequeatFocuB(I;olso(1AVAX.svlnq.JCptlonFaDa.styKcssgeDiiog(nulll“你的fI阳改格大货入4、"应为触字YYYYKN>,il,JfiiA!程入HMl格.SHfiY,jnvax.awing.JCptlOCPNM,£ARaR,/5£八。£);三tock-date.&etext<-;stoek_dat«.requestFocusI”)IIpublicvoidkeyyped(KeyEentelIIpublicvoidoyPrs30d<KeyEventc>(0«tvCooFOn«nt(q,.,tru;publicvoidpalntConponcnt(Graphicsg>(super.palntCctfon«nt(g);£UipaqueO>rturn;IGraphiC82Dq2d-(Graphics2DIq;/lntrule-AlpoCc<posit.SRC-OrER;AlphACoarpoaitAOPAqg-laCApfilta.SrcOvr;/AlphtfConpoeiteblend-AlFheCaro&ite.g»*tIntanc?Irle.O.6f>/lphaCo11Foiteset-AlphaCcaposite.Src;Intwidth9ctWldth(1Intlht-gotHQfght,):CradientPeintgrad11tPeint-nwGradientFaintIOrO/java.awt.Color.7rce11rvidth/2#height2fjava.awt.lor.yelJo,f18l;g2d.SQtConpos1tc<opaquc);92d.AatPAlntIgtrMSCsIHnt);2d.fillRectIOrOrwidth,heightI;<j2d.SetFxsrxicringHint(BenderIngHintc.ry7r1.rASrA7rRenderirjHnt三.W1.-AfZA1.JASOFF);>pxlv*t*void£tUpCoflponantJCctf<)on«ntocronntrInt9rid×zlntgxIdyzInt9riduidthrIntIpQdxzbooleanfinalGndBaTConstraintBgridBagCQnBtrainB-n«vGridBagConstrainteO;qridB(yC0n3traln3.9rldx=grld×ridBgConfltrAinfl.9ridy-rldy;gridB«?Conetrain8.ineetu-nwjvva.awt.ln«t(5,3r3r3;itlgtidwdth>l>grldBoConstrans.gridwidth9rldMldth/if(lpd×>OgridB4Contrn.ipad×-ipa<ix;iefill)grldBgC0n5tralna.tillGridBoConstralnts.VERTJC1.1this.Add(ceponntegr1dBConatr1na>:FprivatevoidInput11IStringId=productid.gtT0×t(I.trimO;Stringellnt-productclint.gt7×tO.trin<>;String11an?":r:xJuct_rnnr.grt7»?xtIl.tri11<);Stringspec-prcduct_sFcc.getTextIl.tri11l);Stringunitproduct-unt.qctT×t1).trl11I);Stringvlu-pradostvlu.gtTaxt(.crlnO;Stringmke-pr«duct_nako.getText11.trinI);Stringdate-三tock-date.getextO.trn<l;Stringtextproduct-tcxt.qctTQ×t().trl11O)Stringbab11-id44*l1.Arit/nA>o,apcrunit,vlu.3½krdAta4caxc;Stringtn®ke-pr©duct-na¼<y.getText11.tri11I);Stringdate-三tock-date.gete×t<>.trn<l;Stringtextproduct-tcxt.gctTcxtI).trl11O;String2ba-id4cllnt/11XtfiC,unlt4valu.auk6rdACAjca×t);forlinti-O;i<babe.1.«ngth-l;i«lIifIbabai.IsEnptyOjaax.swing.JCptionPane.3fto*He55ageoaJ9<null,除卷注吸外.N他“敢也心上克的,小山以注入,."输入龄极不充解"r"V,X.5Wlng.JOpt1onPane.fiROR-RESSS);return;IIif(!ChackVi1g(b4(5)<1iva×.flwltg.JOptionPAna.(xrnull.”数入ItiK只以收。生9之呵的数字.HUM,javax.wing.JOptionPane8M0fSSMSy;product-vluc.setTextf,productVAlu<.r6ifufltFoeua(|;return;Iif(!ChcckDatc<bbo11J11)ova×.3<ir>.JOptlanPonc.nll.”,八1基哎格式输入布鳄,它为/7YKYY/尔DD.MW入1Ia侑入H啷大谁识","vaxAMingaJOptIonPanatHES5S>;atock_ddte.set7ext<-1;3tock_dotc.requestFocus(Ix«tucn;IitI!cetil.i5xcselectfromproduct_inwhereproduct-ID-w*w,*baba04-113avax.swing.JQptionPane.sho¥KessavDialoginl1,"IW后加改MJ敷冷:号不存在.不便更,A笊所伶N'"ttWOiN,avox.swing.JOptIonPane.ERSfJfESSAgiCIednI);return;ISiqI-TdM,-*clie11t-.w*na11epe<*rt,11k«4,w4date-text4,w;sql-wupd3teprcduct-inc«tPmdUUJID,“*,pt。ClUujC14。-3"*cliQit,'producJnanc=Jmg”3PrOCiUCJSpQU1.rpc*,pmductuAit-tunlt*zproduct-value-value*/product-11k-w-n3Ke*,5tc<K_date-*-*date*r*product_text",*te×t*wherePrOdUCJlD«,JW"j门ag.gci”。,软物出人般利!cleanI);if(11onth-2)IifI<lyer%4-0>Mlvor100I-Ol)IIIzar“0。O)>(Z½f*if<day>O“doy<30)b三-tr0j)ifd<y>O“<Uy<29lIb-txu«;|IJrtucnb;卜privatebooleanChecktMteRexgexIStrinqstr)IPottornrc-Pottornpd2cO-9)(4)XX(D-9111/2)X(0-9<1/2)->>Utehrn-r.natebratr);booleanb-11;rturnb;F/publicAtAt1.cvoid11in(Stringarga11)nowCrfiateuaoirPrcductIntarFace(Ah;/)packagefire;ISlertjava.awt.AlphaCoriFocite;aortjava.avt.GradiontPolntiK)OXt.Gxphicfl;reportj4v.avt.Graphic»2D;ort3ava.awt.GridR3gC0nBtraint8;i0ort30va.Awc.Renderr>HlntslscxtAV.Avt.av«nc.ActlonEvent;reportJCVd.avt.event.Action1.ietener;三ortjava.avt.event.KeyEvent;ixort)av.owe.event:.Kcy1.lstcnar;lf>cxtjAVA.util.xg×.>Utchr;importjava.uti1.rgtx.Pattern;sortjava×.swing.JPanel;iflore30v×.swing.JConpancntlflortjimport:publicclassCreateuserProductOutInterFacextndsJPanel<privatetinlstaticIongscrllVcrslMUD2300001.231.322121.:pxlvAtStxingWql-null;privatjav<x.vi11g.Fifjldprcduct-id-null;private:avax.swing.JlextFieldprcduct_client-null;privatelavo×.svtng.JTextFiQldprcdct-noncnull;privatejAVx.wlng.JTAxtFlaldproductapc-null;三ql-"deleteproduct-inwhereproduct-ID-*id*,*;Iifvl>0(eql-wpiteproduct-inPrOdUCjVdl*-v&lWheXgprodct-10-id'IUScDB.UpdtcDBIsql)clan):privatevoidIsUplatc()Stringid-xoduetasid.9tTtt×c(.trlA();Stringclient-prodct-clint.get7extD-trin<>String11ane-product-na11e.getText11.tri11D;Stringspecproductasspoc.qot,Ta×t11.trl11I);Stringunlc-productt.g6t76×t().tri11);Stringvalue-prdv>ct-valu«.9tText(I.tri>(l;Stringtrxake-product_naKe.QetText11.tri11I);Stringzqstock-dot.gctc×t<>.trin<jStringcG×t-productvt×t.96tTA×t().trin);Stringbabe11-Iid«clieat/n«me»op«Crunit4valu9vn9kerdate<t«xtI;forlinti-0;i<bat*gth-l;i*lIiflbabail.IsCnptyOX)Avax.swlng.JCptlonPona.£/)0kWc25«iaDij2c9<null("除Jfr建以外.M佳,牧”氐&倏的.清币册片人,,8融入CUK不克flpa,Jvax.q»1ng.JOpt£8Pn。£M0R_MESSAZ);rtrn;ifI!CheckVaIue(bb(5)ijdx/«,ngJOptionPdne“齐OiGly(null."皎曜儡AUtlM”接收。支9之间的数?,谓喂新S入?javax.swing.JOptionPane£FBCR_KSS5AG£);productVAluft.ftt74t"*:PrMUCjVd】uer=UedtFoCU8(I;return;IifUChackDatA<tab17):1口2*.23,»9.JOptfoCParM.q上QHMMq=州。*ac口(null,SJu朗嗔格'YYYY>WDD.常内看人!."侑入H阴格式Itti*,rjavax,j5vin9.JOptionPdn*RWtO(HE5SA<);3tock_datc.sot7extw-