iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java图形化界面编程实现简单计算器
  • 219
分享到

Java图形化界面编程实现简单计算器

2024-04-02 19:04:59 219人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

1.简单计算器 使用AWT编程,FrameNORTH区域放置TextField组件,将指定为4行5列GridLayout布局管理器的Panel放置于Frame中部区域,其中填充操作符

1.简单计算器

使用AWT编程FrameNORTH区域放置TextField组件,将指定为4行5列GridLayout布局管理器的Panel放置于Frame中部区域,其中填充操作符和操作数按钮。
 按钮触发事件源,对按钮添加ActionListener注册监听。自定义NumListener(操作数监听类)、OperatListener(操作符监听类)、EqualListener(’=‘符监听类)和匿名内部类(如b[11]’-'符监听类)分情况对按钮事件进行监听并响应。
注意:整数、浮点、负数以及连续运算均可以。

代码:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import static java.awt.Color.blue;

public class Calculation {
    //操作数
    double x,y;
    String op;
    boolean flag;
    Frame frame = new Frame("智子的计算器!");
    TextField tf = new TextField(30);
    Button[] b = new Button[20];

    public void init(){
        //北部区域放置文本框
        frame.add(tf,BorderLayout.NORTH);
        Panel panel = new Panel();
        panel.setLayout(new GridLayout(4,5,2,2));
        //设置按钮
        String s = "+-*/%";
        for(int i=0;i<10;i++) {//运算数
            b[i] = new Button(i + "");
            b[i].setForeground(blue);
        }
        for(int i=0;i<5;i++) {//运算符
            b[i+10]=new Button(s.charAt(i)+"");
            b[i+10].setForeground(blue);
        }
        String[] t = {"sqrt","^2","^3","=","."};
        for(int i=0;i<5;i++){
            b[i+15]=new Button(t[i]);
            b[i+15].setForeground(blue);
        }

        //按钮注册监听
        for (int i = 0; i < 10; i++) {//操作数注册监听
            b[i].addActionListener(new NumListener());
        }

        for (int i = 10; i < 18; i++) {//操作符注册监听
            if(i==11) continue;
            b[i].addActionListener(new OperatListener());
        }
        b[11].addActionListener(new ActionListener() {
            @Override
            public void actionPerfORMed(ActionEvent e) {
                if(!flag){
                    tf.setText("-");
                    flag = true;
                } else {
                    x = Double.parseDouble(tf.getText());
                    op = e.getActionCommand();
                    flag = false;
                }
            }
        });
        //“=”注册监听
        b[18].addActionListener(new EqualListener());
        //“.”注册监听
        b[19].addActionListener(new NumListener());

        //将按钮加入panel
        for (int i = 0; i < 20; i++) {
            panel.add(b[i]);
        }

        //设置中部按钮
        frame.add(panel);

        //窗口监听器 注册监听
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

        //设置窗口最优并可见
        frame.pack();
        frame.setVisible(true);
    }

    //数字按钮监听器类
    public class NumListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            String t = e.getActionCommand();
            String s = tf.getText();
            if(flag==false)
                tf.setText(t);
            else
                tf.setText(s+t);
            flag = true;
        }
    }

    //操作符按钮监听器类
    public class OperatListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            x = Double.parseDouble(tf.getText());
            op = e.getActionCommand();
            flag = false;
        }
    }

    //等号按钮监听器类
    public class EqualListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            y = Double.parseDouble(tf.getText());
            flag = true;
            switch(op){
                case "+":tf.setText(x+y+"");
                    break;
                case "-":tf.setText(x-y+"");
                    break;
                case "*":tf.setText(x*y+"");
                    break;
                case "/":
                    if(y!=0)
                        tf.setText(x/y+"");
                    else
                        tf.setText("inf");
                    break;
                case "%":tf.setText(x%y+"");
                    break;
                case "sqrt":tf.setText((int)Math.sqrt(x)+"");
                    break;
                case "^2":tf.setText(y*y+"");
                    break;
                case "^3":tf.setText(y*y*y+"");
                    break;
            }
        }
    }

    public static void main(String[] args) {

        new Calculation().init();
    }
}

到此这篇关于 Java图形化界面编程实现简单计算器的文章就介绍到这了,更多相关 Java图形化界面编程实现计算器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java图形化界面编程实现简单计算器

本文链接: https://www.lsjlt.com/news/161453.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java图形化界面编程实现简单计算器
    1.简单计算器 使用AWT编程,FrameNORTH区域放置TextField组件,将指定为4行5列GridLayout布局管理器的Panel放置于Frame中部区域,其中填充操作符...
    99+
    2022-11-12
  • Java实现简单图形界面计算器
    前言 因为这两天我们的Java实验课程需要做两个小的图形化界面,其中就有一个图形界面的计算器,所以稍微花了点时间做了一个,同时复习了一下Java的基础内容和GUI编程。因为代码中的注...
    99+
    2022-11-13
  • 如何使用Java图形化界面编程实现简单计算器
    这篇文章主要为大家展示了“如何使用Java图形化界面编程实现简单计算器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Java图形化界面编程实现简单计算器”这篇文章吧。1.简单计算器使用A...
    99+
    2023-06-22
  • Java实现图形界面计算器
    本文实例为大家分享了Java实现图形界面计算器的具体代码,供大家参考,具体内容如下   代码: import javax.swing.*; import java.awt.*; ...
    99+
    2022-11-12
  • Java怎么实现图形界面计算器
    这篇文章主要介绍“Java怎么实现图形界面计算器”,在日常操作中,相信很多人在Java怎么实现图形界面计算器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现图形界面计算器”的疑惑有所帮助!接下来...
    99+
    2023-06-25
  • javaswing实现简单计算器界面
    本文实例为大家分享了java swing实现简单计算器界面的具体代码,供大家参考,具体内容如下 已经学习了一部分的swing知识,现在综合运用里面的部分知识来实现一个计算器的界面。 ...
    99+
    2022-11-13
  • java swing怎么实现简单计算器界面
    这篇文章主要介绍“java swing怎么实现简单计算器界面”,在日常操作中,相信很多人在java swing怎么实现简单计算器界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java&...
    99+
    2023-06-30
  • Python实现图形用户界面计算器
    本文实例为大家分享了Python实现图形用户界面计算器的具体代码,供大家参考,具体内容如下 简易用户图形界面计算器设计思路: 简易图形用户界面计算器的界面和功能设计如下: (1)第...
    99+
    2022-11-11
  • java图形界面之怎么实现加法计算器
    这篇文章主要介绍“java图形界面之怎么实现加法计算器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java图形界面之怎么实现加法计算器”文章能帮助大家解决问题。第一步:首先得构思,我们要做什么。加...
    99+
    2023-06-30
  • java实现简易的计算器界面
    如何用java写一个简易的计算器界面,供大家参考,具体内容如下 前言(与本节重点无关可以忽视) 最近了解了一些界面窗口知识,在老师一步步的悉心教导下我却又一次地走向了迷茫&mdash...
    99+
    2022-11-13
  • python基于tkinter图形化编程实现简易计算器功能
    基于tkinter图形化编程的简易计算器,供大家参考,具体内容如下 代码如下: import re import tkinter import tkinter.messagebox ...
    99+
    2022-11-11
  • JavaGUI图形界面开发实现小型计算器流程详解
    目录一、设计目标二、界面设计三、功能实现四、全部代码五、功能测试六、小结一、设计目标 (1)主要功能:实现简单的加、减、乘、除等双目运算,和开平方、百分数等单目运算 (2)辅助功能:...
    99+
    2022-11-13
    Java GUI 图形界面 计算器 Java 计算器
  • Java实现简单计算器小程序
    本文实例为大家分享了Java实现简单计算器小程序的具体代码,供大家参考,具体内容如下 这学期没事学了一点点Java,想写个程序练手,因为只学了一点点,所以暂时只能先写个实现简单功能的...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作