已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.text.DecimalFormat;public class LZ JFrame f;JMenuBar mb;JMenu m1 ,m2 ,m3 ;JMenuItem copy,cut,paste,content,index,about,t1 ,s,i;Font t;JButton bN,bS;ImageIcon img; JTextField text;/int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;/double weightx,weighty;GridBagLayout gridbag;GridBagConstraints c;JPanel p1 ,p2 ; JLabel label;private boolean IfResult = true, flag = false;private String operation = “=“;private double result = 0 ;private Num numActionListener;private DecimalFormat df;public LZ()f=new JFrame(“计算器“);df = new DecimalFormat(“#.#“);/保留四位小数img=new ImageIcon(“图片/图片.jpg“);f.setIconImage(img.getImage();f.setResizable(false);f.setBounds(2 0 0 ,2 0 0 ,3 2 0 ,2 6 0 );Container c1 =f.getContentPane();mb=new JMenuBar(); /创建菜单棒m1 =new JMenu(“编辑(E)“);copy=new JMenuItem(“复制(C) Ctrl+C“);paste=new JMenuItem(“粘贴(P) Ctrl+V“);m2 =new JMenu(“查看(V)“);t1 =new JMenuItem(“标准型(T)“);s=new JMenuItem(“科学型(V)“);i=new JMenuItem(“数学分组(V)“);m3 =new JMenu(“帮助(H)“);content=new JMenuItem(“目录“);index=new JMenuItem(“索引“);about=new JMenuItem(“关于“);t=new Font(“sanserif“,Font.PLAIN,1 2 );addEditMenu();addViewMenu();addHelpMenu();addJMenuBar();f.setJMenuBar(mb); /显示菜单栏c=new GridBagConstraints();gridbag=new GridBagLayout();p1 =new JPanel();c1 .add(p1 );p1 .setLayout(gridbag);text=new JTextField(“0 .“,2 5 );text.setBackground(Color.white);p2 =new JPanel();text.setHorizontalAlignment(JTextField.RIGHT);text.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED);text.setEditable(false);p2 .add(text);label=new JLabel(“);c = new GridBagConstraints(0 ,1 ,1 ,1 ,0 ,0 ,GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(0 ,2 ,0 ,2 ),0 ,0 );gridbag.setConstraints(label,c);label.setFont(new Font(“Serif“,Font.PLAIN,1 5 );label.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED);p1 .add(label);numActionListener = new Num();/实现数字监听addJPanel(“p2 “,0 ,0 ,6 ,1 );addJButton(“Backspace“,1 ,1 ,2 ,1 ,Color.red,new Clear();addJButton(“CE“,3 ,1 ,2 ,1 ,Color.red,new Clear();addJButton(“C“,5 ,1 ,1 ,1 ,Color.red,new Clear();addJButton(“MC“,0 ,2 ,1 ,1 ,Color.red,new Clear();addJButton(“MR“,0 ,3 ,1 ,1 ,Color.red,new Clear();addJButton(“MS“,0 ,4 ,1 ,1 ,Color.red,new Clear();addJButton(“M+“,0 ,5 ,1 ,1 ,Color.red,new Clear();addJButton(“7 “,1 ,2 ,1 ,1 ,Color.blue,numActionListener);addJButton(“4 “,1 ,3 ,1 ,1 ,Color.blue,numActionListener);addJButton(“1 “,1 ,4 ,1 ,1 ,Color.blue,numActionListener);addJButton(“0 “,1 ,5 ,1 ,1 ,Color.blue,numActionListener);addJButton(“8 “,2 ,2 ,1 ,1 ,Color.blue,numActionListener);addJButton(“5 “,2 ,3 ,1 ,1 ,Color.blue,numActionListener);addJButton(“2 “,2 ,4 ,1 ,1 ,Color.blue,numActionListener);addJButton(“9 “,3 ,2 ,1 ,1 ,Color.blue,numActionListener);addJButton(“6 “,3 ,3 ,1 ,1 ,Color.blue,numActionListener);addJButton(“3 “,3 ,4 ,1 ,1 ,Color.blue,numActionListener);addJButton(“+/-“,2 ,5 ,1 ,1 ,Color.blue,numActionListener);addJButton(“.“,3 ,5 ,1 ,1 ,Color.blue,numActionListener);addJButton(“/“,4 ,2 ,1 ,1 ,Color.red,new Signs();addJButton(“*“,4 ,3 ,1 ,1 ,Color.red,new Signs();addJButton(“-“,4 ,4 ,1 ,1 ,Color.red,new Signs();addJButton(“+“,4 ,5 ,1 ,1 ,Color.red,new Signs();addJButton(“Sqrt“,5 ,2 ,1 ,1 ,Color.blue,new Signs();addJButton(“%“,5 ,3 ,1 ,1 ,Color.blue,new Signs();addJButton(“1 /x“,5 ,4 ,1 ,1 ,Color.blue,new Signs();addJButton(“=“,5 ,5 ,1 ,1 ,Color.red,new Signs();f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);private void addEditMenu()m1 .add( copy); m1 .addSeparator();m1 .add( paste);m1 .setFont(t);private void addViewMenu()m2 .add(t1 ); m2 .addSeparator();m2 .add(s);m2 .addSeparator();m2 .add(i);m2 .setFont(t);private void addHelpMenu() /创建帮助菜单的方法m3 .add(content); m3 .add(index); m3 .addSeparator(); m3 .add(about);m3 .setFont(t);private void addJMenuBar()/将菜单加入到菜单棒上的方法mb.add(m1 ); mb.add(m2 ); mb.add(m3 );private void addJPanel(String name,int gridx,int gridy,int gridwidth,int gridheight)c.gridx=gridx;c.gridy=gridy;c.gridwidth=gridwidth;c.gridheight=gridheight;gridbag.setConstraints(p2 ,c);p1 .add(p2 );private void addJButton(String name,int gridx,int gridy,int gridwidth,int gridheight,Color yanse,ActionListener action)JButton button =new JButton(name);button.addActionListener(action);c.gridx=gridx;c.gridy=gridy;c.gridwidth=gridwidth;c.gridheight=gridheight;c.anchor=GridBagConstraints.CENTER;button.setForeground(yanse);c.insets=new Insets(3 ,2 ,3 ,2 );gridbag.setConstraints(button,c);p1 .add(button);class Num implements ActionListenerpublic void actionPerformed(ActionEvent e) String str = e.getActionCommand();if(IfResult)text.setText(str);IfResult = false;elsetext.setText(text.getText().trim() + str);if(text.getText().equals(“0 “)text.setText(“0 “);IfResult = true;flag = true;private void getResult (double x)if(operation = “+“)result += x;else if(operation = “-“)result -= x;else if(operation = “*“)result *= x;else if(operation = “/“)result /= x;else if(operation = “=“)result = x;text.setText(df.format(result);class Signs implements ActionListenerpublic void actionPerformed(ActionEvent e) /*用ActionEvent对象的getActionCommand()方法*取得与引发事件对象相关的字符串*/String str = e.getActionCommand();/* sqrt求平方根*/if(str.equals(“Sqrt“)double i = Double.parseDouble(text.getText();if(i=0 )/* String.valueOf()转换为字符串* df.format()按要求保留四位小数* Math.sqrt()求算数平方根*/text.setText(String.valueOf(df.format(Math.sqrt(i);elsetext.setText(“负数不能开平方根“);/* %求百分比*/else if(str.equals(“%“)text.setText(df.format(Double.parseDouble(text.getText() / 1 0 0 );/* 1 /x求倒数*/else if(str.equals(“1 /x“)if(Double.parseDouble(text.getText() = 0 )text.setText(“除数不能为零“);elsetext.setText(df.format(1 / Double.parseDouble(text.getText();elseif(flag)IfResult = false;if(IfResult)operation = str;elsegetResult(Double.parseDouble(text.getText();operation = str;IfResult = true;class Clear implements ActionListenerpublic void actionPerformed(ActionEvent e) /*用ActionEvent对象的getActionCommand()方法*取得与引发事件对象相关的字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级教师教研工作总结
- 天津开发区第一中学2024届高三第五次模拟考试化学试卷含解析
- 山西省太原市小店区山西大学附属中学2024届高考化学一模试卷含解析
- 山西省朔州市怀仁八中2024届高三二诊模拟考试化学试卷含解析
- 广东省揭阳市榕城区揭阳三中2024届高考化学四模试卷含解析
- 2024届贵州省铜仁市思南县重点中学中考物理全真模拟试题含解析
- 2024届广州市花都区中考物理押题试卷含解析
- 2024届广西贺州市昭平县市级名校中考物理五模试卷含解析
- 2024届海南省儋州一中高三第二次调研数学试卷含解析
- 安徽省淮北市濉溪中学2023-2024学年高三六校第一次联考生物试卷含解析
- 第13课《唐诗五首-钱塘湖春行》说课课件(共18张PPT) 部编版语文八年级上册
- 高中音乐人音版高中必修音乐鉴赏第十五单元新音乐歌声初放-《学堂乐歌》教案
- 建筑施工房建类项目工序穿插节点
- GB 18613-2020 电动机能效限定值及能效等级
- 《电子商务专业英语》课程教学大纲
- 新教材人教版高中物理选择性必修第三册 2.2气体的等温变化(1) 教学课件
- 小学数学课堂教学中小组合作学习的有效性实践探究教研课题论文开题结题中期报告(反思经验交流)
- 人民医院乔迁开业盛典活动方案
- AGMA+913A98美标齿轮标准设计规范
- 朝天椒收获机设计论文
- 智能仓库管理系统(WMS)解决方案最新PPT课件
评论
0/150
提交评论