下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、pac k age c om haha;impor t java awt .Col o r;im p o r t java awt event Mou s eAdap ter; imp o r t j ava awt eve nt. M o u s eEvent; imp o rt java a wt. e ve n t Mou s eList e n e r;im p ort jav a x .swing J Bu t ton; import j a v a x swing JFrame;import j a vax.swing J Pan e 1;import ja v ax s wing
2、 JT e x tFiel d :p ub 1 ic cla s s J i S uanQ i extends Mous e Ad a p t er imp lemen t s Mo u s e L istene r o p ub 1 ic S t r i n g numl=M M , n um生 ” M ,op r=M nzres = H M;o p ub 1 ic Bo o 1 e an is 0 p r=f a Ise;/opub 1 i c Boo lean i s D i a n 1 =fa 1 se;p ub 1 ic Bool e an isDian2 = f alse;publ
3、ic JT ext F iel d j f=new JT e xt F ield ("O'1): opu b li c J P a ne 1 jpl=new JPa nel();public JFrame f;opublic JButton c =new JB u tton("c ”);/XY空按pu b 1 ic J B utt o n d=new J Butt o n (" M ) ; /删除public JB u tton b= ne w JButton (H7") zne w JButto n (" 8 ") z ne
4、 w JBu tton (n9") r new JBut ton ( '* +H ) ,onew J B u tton ( * 4" ) r n ew J B utton ( M 5H ) z n ew JBu t ton ( H6”),new JB u t ton ( M -H) ,o o n e w J Button ( H 1n) z new JBu t ton ( " 2lf) > n ew JBut t on (lf3n )> n ew J Bu t ton (""),o new J B u t t on (M0n
5、) znew JB u tton ("")/ new J Butt o n (,=,'), n ew JButton ( '* /“): /声明并初始化按钮数组,存放数字和操作符J i S uanQi () oin it Frame ():publi c void in i tF r am e () /绘制屏幕of=new JFrame ("计算器");o o f s e t B o unds ( 6 0 0,2 0 0,250z 350 ):&f set Defaul t Cl o s eO p erat i on (JFram
6、e EXIT ON C L OSE); /关闭 窗口_o f s etResizable(false): o f se t Visi b 1 e (true);of. setLay out ( null);f a d d (j f ):o j f s et E dita b le (false);j f set Bo un ds(0, 0,250,5 0);o o jf .setBac k ground (C o I or. re d);obut t o nPos();oad d B utt o nL i st e n er ();o p u b li c void b uttonPo s (
7、) /添力【I按钮o i n t x=15/y=100:o of add ( c );o oc .setBo unds (1 8 0z 55,5 0 , 4 0 );of add ( d ):o d.SGtBou n d s ( 1 20f 5 5/ 55,40);fo r (i n t i=0; i <4; i + + ) o for(int j =0;j<4: j+) “of. add (b i j );bi j setB o un ds (xz yz 50, 40);oox+=55:0 0 3)o o X = 1 5 ;o oy+=42:pub lie vo id addB
8、utt o n Lis tenG r () /事件注册o c addMouseLi s te n er (n e w MouseAdapt e r () o & ©p ubl i c void mous e Clicked (Mouse E v e nt e) ooe v e ct Do (e);o & );od a d dMo u s eLi s t e n e r (new M o useAdapt e r () p ubl i c v o id mous e Click e d ( MouseEve nt e ) o e v e ct Do ( e );0 0
9、0 ):o f or (int i=0; i<4: i + + ) o o f or (int j =0; j<4: j+ + )o o o b i j add Mou s e Liste n e r (new Mouse Ada p t e r () o o p ublic vo i d mouseClicked (MouseEven t e) evec t Do ( e );o0 0 ):0 0 3)o p ubl i c voi d e vectDo (MouseEvent e) / / 事件处理程序/o oif (e get Source () = = d) o o i f
10、 (isOpr) o o i f (!num2 .e q ua 1 s (11H) ) onum2=n u m2 s ubs t r i n g (0z n u m2 length () -1);0 0 0 o oelseo opr=,IH;oisO p r = f al s e;0 0 0 0 oelseo i f (!numl.equals("") ) on u ml=n u ml substr i n g (0z n uml le ngt h () -1);0 0 oel s eonuml=HH;0 0 0 0 d i sp ():if ( e . g e ts o
11、urce ( ) =c) j f setText ( " 0 ”);onnml = "u: niim2=HH;opr=Hn;r e s = M"oisDian 1 =false;o o i s D i an 2 = f als e ; isOpr=fals e;0 )if (e g e tSo u rce () =b 0 3 ) / / 力10 0 0o oopr=b 0 3 . get Te x t ();o is Opr= true;o/isDian 1 = f a I s e:o odisp ();0 i f (e.getSour c e () = = b
12、1 3 ) / / 0戒o opr=b1 3 g etText():o a isOpr=t r ue:o o d d i s p ();ooif (e .getSou r ce () =b 2 3 ) /乘o oo p r=b 2 3getTe x t (): ois O p r =true:di s p ();&o if (e gets o urce () =b 3 3) /除0 0o o o pr= b 3 3 g e tTe x t(); oisOpr= t rue;o d i s p ():0 0 oi f (e getSou r ce () =b 3 2 ) / /等号ooi
13、f (numl. in d e xOf (" ”)=-l&&num2 ind e x O f ( " . ”) =- 1 )o d j isua n Int ();0 0 D oe Is e o o ji s u anFloat ():0 0 ooif (! (numl. inde x Of (H. n) =-l) / / /小数点o oisDi a n 1 = t rue:0 0 o ois I) ian 2 =fa 1 se;oif (e g e tSource () =b 0 0 ) /勃U仪数'Foooif(lisOpr) o onum 1
14、+=b 0 0 .get T ext ();0 0 oe Ise o & num 2 += b 0 0 g e t Text ();0 o o odis p ():0 0 o oif (e .getSource () =b 0 1 ) / /获取数字0 & doi f (! is Opr) ooo n uml+=b 0 1g e tText ();e 1 se o on um2 +=b 0 1 ge t Te x t ();0 0 0 0d i S p ():0 oif (e.g e tSource () = b 0 2 ) /获取数字i f (!is Opr) o o num
15、l + =b 0 2 g etT e xt ();0 0 o a else oooonum 2 +=b 0 2 ge t T e xt ():o d isp ();0 0 0oif (e g etS o urc e () =b 1 0 ) 0o i f (!isOpr) o o n uml + =b 1 0 ge t Tex t ():0 0 oels e o on um2+=b 1 0ge t T e x t ();»di s p ():b oif (e g et S o u rce () =b 1 1)0 0o o oif ( ! i s Opr) o o d o n uml +
16、 = b 1 1 getText ():0 0 oe 1 s e oon u m2+=bl l.ge t Text ();0 0 o odis p ();b o i f (e g etSourc e () = b 1 2) oi f (! isOpr) o o n uml+=b 1 2 g e tText ();else o o onum2 + = b 1 2ge t Text ();o © d d i s p ();J0 &if (e ge t Sourc e ( ) =b 2 O)o o if (! isOpr) onuml+= b2 0getText (/获取数字/获取
17、数字/ /获取数字/获取数字o o else o onum2+=b 2 Oge t Text ():o od i sp ();o if (g g e tS o u r ce () =b 2 1 ) / / 获取数字0 0o o ©if(! i s Opr)o on u m 1 +=b 2 1 g e t Text ();0o e 1 se o o on u m 2 +=b 2 1 getTex t ();0disp ();D o i f (e .g e tSo u r c e () =b2 2) /获取数字0o o i f (!isOpr)o numl += b 2 2 get T
18、e xt ();0 0 o o e 1 s e o & n u m2+=b 2 2 getT e xt ();o0disp ();oo oif ( e .get S ource () =b 3 0) / / 获取数70 0i f (! i sOpr)o ormml+=b 3 0 getT e xt ();0o oe 1 se on um2 +=b3 0 .getTe x t ();0 0 o a odisp ();0 0 o i f (e .ge t Sourc e () =b 3 1 ) / 获取数?oif ( ! is O p r) o if ( ! isDia n 1 ) o o
19、num 1 +=b 3 1 get Text ();o o o oisDian 1 = t rue;0 0 0 0 0 o & o eIse oif ( ! i sDian 2 ) o o n um2+= b 3 1 g e tTe x t ();0 0 5 o o oisDia n 2 = t ru e ;0 di s p ();0 o p ublic void di sp ()/ / III / / / /显示结果o j f s et T ext (n uml+ o pr+ n um2);»publ icvoi d ji suan I n t () /川算整数o i nt
20、 nlr n 2 ;0 i f (numl G quals (") ) o o ©nl=0;0 0 o els e nl=Int e g e r p a r s e I nt (num 1 ):i f (num2 e q uals ("")o o on2= 0 ;0 0 o e 1 seo on2= I nt e ge r . p arselnt (num2);0 o i f (o p r e quals ("+") 0res= (n 1 +n2)+H M ;j f s e t T ext (res);numl= res;num2=H
21、 ,f;o p r =Mu:o isOp r =f a Ise;° o if (op r .equ a Is)0r e S=(nl-n2)+'fn;o o d jf setT e xt (res);o num 1 =r e s;o o num2=",f;oop r=Hn;i s Opr=false;if ( opr .equals (n* ” ) 0 0 r e s= (nl * n 2) +;o o o jf.se tTex t ( res);onuml=res;0num2="H;oop r ="n;oi s Opr=fal s e ;0oif
22、 (opr e q u als ("/”)oowhile (tr u e) oif(n2=0)j f.setTextC被除数不能为零“);00 num 1 = H;num2=u H ;op r=,t,r; re s =M H ;o a o i sOpr=false;0 0 00 0 e 1 s e 0 0 re s = ( ( ( f 1 oa t) n l)/n2) +H M ;o o j f set Tex t ( r e s );onum 1 =res;o on um2=M M;oop r ="u;oisOpr=fals e ;0o o break;o & a
23、 public v oid j i s u a n Flo a t () / / / / / / / !/计算浮点数float n1 n 2;o int nn=Math abs (node Num (n u m 1 ) +no d e N u m ( n um 2 );oif (numl .equ a 1 s (" n) o &1 =0;0 0 o else o on 1 =Float pa rs e Float ( n uml);& if (num2 e q ual s (”)o on 2 = 0 ;0 el s en2=Fl o at p ars e F 1 o a t (num 2 ): if (opr equ a Is (n+ " ) ) r e s= (nl+n2)+ ” M ;ojf se t Tex t (re s );onuml=res:0num2=,H;oopr = H 11 :o o is 0 p r = fa Ise;0 0 o oif (op r e q ua 1 s) 0 0 0 r es= (nl-n2) + M H;o o jf s etT e xt( res)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年足疗服务企业数字化转型与智慧升级战略分析研究报告
- 未来五年烘焙工坊企业县域市场拓展与下沉战略分析研究报告
- 未来五年城市垃圾运输企业县域市场拓展与下沉战略分析研究报告
- 未来五年经济企业县域市场拓展与下沉战略分析研究报告
- 未来五年海水产品种苗企业数字化转型与智慧升级战略分析研究报告
- 塑料排水板施工技术方案
- 幼儿园安全管理责任制度解读
- 2026年西宁小学毕业班质量监测方案试题及真题
- 轨道交通客户服务质量提升方案
- 培训机构市场营销方案与实操
- 护患沟通技巧与冲突处理策略
- 座椅相关测试题及答案
- 《大连医科大学研究生学位论文书写规范》
- 二十届四中全会测试题及参考答案
- 蒸镀相关知识培训总结
- 按摩禁忌课件
- 代建工程安全管理
- 风电场培训安全课件
- 工程质量管理复盘总结
- (完整版)房屋拆除施工方案
- 供水管道抢修知识培训课件
评论
0/150
提交评论