计算器 1.0

小计算器

 

 

编写一个应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。

设计四个按钮,分别命名为“加”、“差”、“积、”、“除”;

另外,窗口中还有三个文本框。单击相应的按钮,将两个文本框的数字做运算,在第三个文本框中显示结果。要求处理NumberFormatException异常。

/**

 * Counter.java

 * @author:王超

 * 2016年11月22日

 * com.wangchao.shangji.exercise.第七次试验.Counter

 * Copyright (c) 2007, 2016 Infopower corporation All Rights Reserved.

 */

package com.wangchao.shangji.exercise.第七次试验;

 

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTextField;

 

/**

 *

 * <p>

 * 描述该类情况 {@link 代表跟谁有关系}

 * </p>

 *

 * @author 王超

 * @since 1.0

 * @date 2016年11月22日 下午6:13:26

 * @see 新建|修改|放弃

 * @see com.wangchao.shangji.exercise.第七次试验.Counter.计算器

 */

 

public class Counter extends JFrame

{

         /***/

         private static final long serialVersionUID = 1L;

 

         public static void main(String[] args)

         {

                   Counter counter = new Counter();

                   counter.setVisible(true);

         }

 

         JButton add = new JButton("加");

         JButton cut = new JButton("减");

         JButton division = new JButton("除");

         JButton take = new JButton("乘");

         JTextField text1 = new JTextField("", 7);

         JTextField text2 = new JTextField("", 7);

         JTextField text3 = new JTextField("", 7);

 

         public Counter()

         {

                   setTitle("计算器");

                   // 设置窗体大小

                   setSize(300, 300);

                   // 设置窗口位置

                   setLocation(400, 400);

                   // 关闭窗口的操作

                   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                   // 设置布局

                   setLayout(new FlowLayout());

                   // 输入框1

                   add(this.text1);

                   // 输入框2

                   add(this.text2);

                   // 结果框3

                   add(this.text3);

                   // 按钮 加法

                   add(this.add);

                   // 按钮 减法

                   add(this.cut);

                   // 按钮 乘法

                   add(this.take);

                   // 按钮 除法

                   add(this.division);

                   // 加法的监听事件

                   this.add.addActionListener(new ActionListener()

                   {

                            @Override

                            public void actionPerformed(ActionEvent e)

                            {

                                     String strText1 = getText1();

                                     Integer te1 = new Integer(strText1);

                                     String strText2 = getText2();

                                     Integer te2 = new Integer(strText2);

                                     Integer te3 = te1 + te2;

                                     setText3(te3.toString());

                            }

                   });

                   // 减法的监听事件

                   this.cut.addActionListener(new ActionListener()

                   {

                            @Override

                            public void actionPerformed(ActionEvent e)

                            {

                                     String strText1 = getText1();

                                     Integer te1 = new Integer(strText1);

                                     String strText2 = getText2();

                                     Integer te2 = new Integer(strText2);

                                     Integer te3 = te1 - te2;

                                     setText3(te3.toString());

                            }

                   });

                   // 乘法的监听事件

                   this.take.addActionListener(new ActionListener()

                   {

                            @Override

                            public void actionPerformed(ActionEvent e)

                            {

                                     String strText1 = getText1();

                                     Integer te1 = new Integer(strText1);

                                     String strText2 = getText2();

                                     Integer te2 = new Integer(strText2);

                                     Integer te3 = te1 * te2;

                                     setText3(te3.toString());

                            }

                   });

                   // 除法的监听事件

                   this.division.addActionListener(new ActionListener()

                   {

                            @Override

                            public void actionPerformed(ActionEvent e)

                            {

                                     String strText1 = getText1();

                                     Integer te1 = new Integer(strText1);

                                     String strText2 = getText2();

                                     Integer te2 = new Integer(strText2);

                                     Double te3 = te1 / te2.doubleValue();

                                     setText3(te3.toString());

                            }

                   });

         }

 

         // 获取text1的值

         public String getText1()

         {

                   if (this.text1.getText() == null)

                   {

                            throw new NumberFormatException();

                   }

                   else

                   {

                            return this.text1.getText();

                   }

         }

 

         // 获取text2的值

         public String getText2()

         {

                   if (this.text2.getText() == null)

                   {

                            throw new NumberFormatException();

                   }

                   else

                   {

                            return this.text2.getText();

                   }

         }

 

         // 设置text3的值

         public void setText3(String t3)

         {

                   this.text3.setText(t3);

         }

}

转载于:https://www.cnblogs.com/qingtianBKY/p/6091022.html

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import java.lang.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; import java.awt.Component.*; import java.awt.color.*; import java.text.DecimalFormat; //*****************************************************************************// //*****************************************************************************// public class Calculator implements ActionListener //导入动作监听接口 { //******************************// //*****设计计算器界面的单位*****// JFrame frame; //定义框架 JTextField textAnswer; //定义输出显示框 JPanel panel, panel1, panel2, panel3;//定义面板作为子容器,从而达到要求的界面效果 JMenuBar mainMenu; JTextField textMemory; JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状 JButton buttonBk, buttonCe, buttonC; JButton button[]; JButton buttonMC, buttonMR, buttonMS, buttonMAdd; JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,buttonDiv, buttonMod; JButton buttonSqrt, buttonDao, buttonEqual; JMenu editMenu, viewMenu, helpMenu; JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal,myCollege; DecimalFormat df; //设置数据输出精度 boolean clickable; //控制当前能否按键 double memoryd; //使用内存中存储的数字 int memoryi; double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 boolean clear = false; String copy; //做复制用 JTextArea help; //帮助 JScrollPane scrollHelp; static boolean One =true; //******************// //*****构造函数开始*****// public Calculator() { clickable = true; answerd = 0; frame = new JFrame("梦幻计算器--SWE08008"); frame.setResizable(false);//不允许改变计算器的大小 frame.setLocation(250,150);//设置计算器的起始位置 frame.setBackground(Color.YELLOW); df = new DecimalFormat("0.##############"); //设置数据输出精度(对于double型值)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值