预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

packagecom.cctv; importjava.awt.BorderLayout; importjava.awt.Color; importjava.awt.GridLayout; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; importjavax.swing.*; //事件监听机制Listener----monitor监听器,侦听器。班长----内部类 //XXXListener-----addXXXListener publicclassTestextendsJFrame{ String[]str4={"编辑","查看","帮助"}; String[]str1={"复制","粘贴"}; String[]str2={"标准","科学","数字分组"}; String[]str3={"帮助主题","关于计算器"}; JMenuBarjmb; JMenujm; JMenuItemjmi; JFramejf=newJFrame("我的计算器"); JTextFieldjtf; privateString[]left={"MC","MR","MS","M+"}; privateString[]top={"Backspace","CE","C"}; privateString[]bottom={ "7","8","9","/","sqrt", "4","5","6","*","%", "1","2","3","-","1/x", "0","+/-",".","+","=" }; privateJPanelp1;//面板1左。面板的默认布局管理器是流式布局。 privateJPanelp2;//面板2上 privateJPanelp3;//面板3主 privateJPanelp4;//面板4 privateJPanelp5;//面板5 privateJButtonjb; privatedoubled1=0.0;//记录上一步的运算结果值。 privatedoubled2=0.0;//记录当前文本框的内容的double值。 privatebooleanisOperator=false;//记录上次按的是否是运算符键 privatecharoper='=';//记录上次运算符 privatecharch; publicvoidcreatMenu(){ //生成一个菜单栏,然后往其中加入菜单, //然后往各菜单中加入相应的菜单选项。 jmb=newJMenuBar(); for(inti=0;i<str4.length;i++){ jm=newJMenu(str4[i]); if(i==0){ for(intj=0;j<str1.length;j++){ jmi=newJMenuItem(str1[j]); jm.add(jmi); } jmb.add(jm); } if(i==1){ for(intj=0;j<str2.length;j++){ jmi=newJMenuItem(str2[j]); jm.add(jmi); } jmb.add(jm); } if(i==2){ for(intj=0;j<str3.length;j++){ jmi=newJMenuItem(str3[j]); jm.add(jmi); } jmb.add(jm); } } } publicvoidcreatFace(){ jf.setLayout(newBorderLayout(15,15));//设置面板的间距 jtf=newJTextField("0");//设置文本框 jtf.setHorizontalAlignment(JTextField.RIGHT); jtf.setEditable(false); jf.add(jtf,BorderLayout.NORTH); //做按钮组 p1=newJPanel(newGridLayout(4,1,5,5));//设置大小间距 for(inti=0;i<left.length;i++){ jb=newJButton(left[i]); jb.addActionListener(newMonitor());//注册监听 jb.setForegr