首页 > 编程语言 >简单计算器(Java_图形用户界面设计)

简单计算器(Java_图形用户界面设计)

时间:2023-06-20 10:03:32浏览次数:37  
标签:Box BigInteger Java box21 add 计算器 new n2 图形用户界面


题目

编写一个应用程序,包括三个文本框和四个按钮,分别是“加”、“减”、“乘”、“除”,单击相应的按钮,将两个文本框的数字做运算,在第三个文本框中显示结果。

布局

简单计算器(Java_图形用户界面设计)_java

Code

package unit_9;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigInteger;

public class p10_3 {
    public static void main(String[] args){
        WindowBox win=new WindowBox("cal");
    }
}
class WindowBox extends JFrame implements ActionListener {
    Box box11, box12, box13, box21, box22;
    JTextField text1,text2, text3;
    JButton button1, button2, button3, button4;
    WindowBox(String s){
        setTitle(s);
        text1=new JTextField(10);
        text2=new JTextField(10);
        text3=new JTextField(10);
        button1=new JButton("加");
        button2=new JButton("减");
        button3=new JButton("乘");
        button4=new JButton("除");
        text1.addActionListener(this);
        text2.addActionListener(this);
        text3.addActionListener(this);
        button1.addActionListener(this);
        button2.addActionListener(this);
        button3.addActionListener(this);
        button4.addActionListener(this);
        box11=Box.createVerticalBox();
        box11.add(new JLabel("number_1:"));
        box11.add(Box.createVerticalStrut(8));
        box11.add(new JLabel("number_2:"));
        box11.add(Box.createVerticalStrut(8));
        box11.add(new JLabel("ansewr:"));
        box12=Box.createVerticalBox();
        box12.add(text1);
        box12.add(Box.createVerticalStrut(8));
        box12.add(text2);
        box12.add(Box.createVerticalStrut(8));
        box12.add(text3);
        box13=Box.createHorizontalBox();
        box13.add(box11);
        box13.add(Box.createHorizontalStrut(10));
        box13.add(box12);
        box21=Box.createHorizontalBox();
        box21.add(button1);
        box21.add(Box.createHorizontalStrut(8));
        box21.add(button2);
        box21.add(Box.createHorizontalStrut(8));
        box21.add(button3);
        box21.add(Box.createHorizontalStrut(8));
        box21.add(button4);
        box22=Box.createVerticalBox();
        box22.add(box13);
        box22.add(Box.createVerticalStrut(20));
        box22.add(box21);
        setLayout(new FlowLayout());
        add(box22);
        validate();
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setVisible(true);
        setBounds(700, 300, 300, 200);
    }
    public void actionPerformed(ActionEvent e){
        String val1="", val2="";
        try{
        if(e.getSource()==button1)
        {
            val1=text1.getText();
            val2=text2.getText();
            BigInteger n1=new BigInteger(val1);
            BigInteger n2=new BigInteger(val2);
            n2=n1.add(n2);
            text3.setText(n2.toString());
        }
        else if(e.getSource()==button2)
        {
            val1=text1.getText();
            val2=text2.getText();
            BigInteger n1=new BigInteger(val1);
            BigInteger n2=new BigInteger(val2);
            n2=n1.subtract(n2);
            text3.setText(n2.toString());
        }
        else if(e.getSource()==button3)
        {
            val1=text1.getText();
            val2=text2.getText();
            BigInteger n1=new BigInteger(val1);
            BigInteger n2=new BigInteger(val2);
            n2=n1.multiply(n2);
            text3.setText(n2.toString());
        }
        else if(e.getSource()==button4)
        {
            val1=text1.getText();
            val2=text2.getText();
            double v1=Double.parseDouble(val1);
            double v2=Double.parseDouble(val2);
            if(v2==0)
                text2.setText("分母不能为0!");
            else{
                v2=v1/(v2*1.0);
                text3.setText(Double.toString(v2));
            }
        }
        }catch(NumberFormatException ee) {
            text3.setText("请输入数字字符");
            text1.setText(null);
            text2.setText(null);
        }
    }
}

结果展示

简单计算器(Java_图形用户界面设计)_java_02


标签:Box,BigInteger,Java,box21,add,计算器,new,n2,图形用户界面
From: https://blog.51cto.com/u_16165815/6520502

相关文章

  • java:保留两位小数输出,两种方法
    第一种方法://四舍五入保留publicstaticvoidmain(String[]args){Doubledata=1.23635345;DecimalFormatdf=newDecimalFormat("0.00");System.out.println(df.format(data));}第二种方法://四舍五入保留publicstaticvoidmain(String[]args){......
  • 【Java】Map集合的遍历
    HashMap<String,String>map=newHashMap<>();map.put("001","赵");map.put("002","钱");map.put("003","孙");map.put("004","李......
  • JavaScript判断两个数组相等的四类方法
    在JavaScript中,数组本质上是一种特殊的对象,它的类型值会返回object。如果我们需要比较两个数组是否相等,不能像比较基本类型(String、Number、Boolean等)一样,使用===(或==)来判断,所以如果要比较数组是否相等,需要使用一些特殊方法。关于JS类型的判断,可见博文typeof详解。本文......
  • Java验证时间格式是否正确
     /***根据时间和时间格式校验是否正确*@paramlength校验的长度*@paramsDate校验的日期*@paramformat校验的格式*@return*/publicstaticbooleanisLegalDate(intlength,StringsDate,Stringformat){int......
  • JDK对于Java的作用
    JDK是JavaDevelopmentKit的缩写,是Java的开发工具包(SDK)。JDK是整个Java的核心,包括Java运行环境(JavaRuntimeEnvirnment,简称JRE),Java工具(比如javac、java、javap等等),以及Java基础类库(比如rt.jar)。JRE:包含了JVM+第三方类库;(JavaRuntimeEnvironment)是Java......
  • 让性能腾飞!亚马逊云科技的 Java 云端之旅
    在上篇文章中,我们为大家介绍了亚马逊的Java生态及丰富的开发工具、框架。本文将分享亚马逊的Java架构、迁移途径,并分享一个具体实例,介绍如何使用机器学习来构建Java应用和提升Java性能。 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、......
  • 错误:“java.lang.ClassNotFoundException: com.mysql.jdbc.Driver“ 如何解决?
    ——运行项目时遇到java.lang.ClassNotFoundException:com.mysql.jdbc.Driver问题,解决方案:错误如下:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver atorg.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) atorg.......
  • 黑马程序员Java教程学习笔记(一)
    文章目录黑马程序员Java学习笔记Java版本Java语言的跨平台原理JRE和JDKJDK的下载和安装HelloWorld案例注释关键字常量数据类型标识符类型转换运算符字符"+"操作字符串"+"操作赋值运算符自增自减运算符关系运算符逻辑运算符三元运算符案例:两只老虎案例:三个和尚数据输入案例:三个和尚......
  • 黑马程序员Java教程学习笔记(五)
    文章目录黑马程序员Java教程学习笔记(五)日期时间:Date、SimpleDateFormat、CalendarJDK8开始新增日期API包装类正则表达式Arrays类选择排序、二分查找Lambda表达式集合概述、Collection集合的体系特点Collection常用API、遍历方式、存储自定义类型对象常见数据结构List系列集合、集......
  • this version of the Java Runtime only recognizes class file versions up to 52.0
    在SAPCommerceCloudBackoffice做fullindexing时,遇到错误消息:ERROR:Errorfromserverathttps://localhost:8983/solr:ErrorCREATEingSolrCore'master_backoffice_backoffice_product_flip':Unabletocreatecore[master_backoffice_backoffice_product......