首页 > 编程语言 >Java实现简易的计算器布局

Java实现简易的计算器布局

时间:2024-06-04 16:33:41浏览次数:13  
标签:Java 小数点 getText 简易 key 计算器 new textField

其实计算器本身的功能,每个编程语言本身就能实现,比如说我在python中敲击“3+2”的命令,返回值就是5。那么如果需要设计计算器,则关键的部分在于整个的算法页面布局,和功能的逻辑关系,以下我使用Java实现了计算器的布局即简易的功能。

定义类Calculator的类,然后在中间添加容器界面,实现布局。

 public Calculator() {
		 super ("计算器");
		 container=getContentPane();
		 textField=new JTextField(100);
		 buttons=new JButton[KEYS.length];
		    JPanel panel = new JPanel(new GridLayout(6,4));//实例化布局为六行四列
	        getContentPane().add("Center",panel);//将容器添加到Jframe里面
	   	 for(int count=0;count<KEYS.length;count++)
		 {
			 buttons[count]=new JButton(KEYS [count]);
			 buttons[count].addActionListener(this);
		 }// 将数组keys中的字符依次添加到网络布局的按钮中
		 for(int i=0;i<KEYS.length;i++)
		 {
		 panel.add(buttons[i]);
		 }
		 textField.addActionListener(this);// 添加实现文本内容的监听
		 container.add(panel);   
	     getContentPane().add("North",textField);//使文本框在最上边显示
		 setSize(500,600);//设置布局的大小
		 setVisible(true);//设置为可见
		 }//处理按钮,设置布局

处理数字的逻辑也不难,见以下注释及代码:

 private void handleNumber(String key){
	 if (firstdigit) {  
	        // 输入的第一个数字  
			textField.setText(key);
		
		         } 
	 else if ((key.equals(".")) && (textField.getText().indexOf(".") < 0)) {  
		           // 输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面  
		        	 textField.setText(textField.getText() + ".");  
		       } else if (!key.equals(".")) {  
		             // 如果输入的不是小数点,则将数字附在结果文本框的后面  
		    	   textField.setText(textField.getText() + key);  
		       }  
		          // 以后输入的肯定不是第一个数字了  
		        firstdigit = false;  
	 }

若想要完整具体的代码,可以看:https://download.csdn.net/download/mingangel/89364895

标签:Java,小数点,getText,简易,key,计算器,new,textField
From: https://blog.csdn.net/mingangel/article/details/139446479

相关文章

  • 第一个简易ssh项目分析,基于ssh的简易教师信息管理系统
    #这是一个关于新手的ssh项目,以及首次对ssh的配置启动复盘#1.项目结构介绍1.1大致结构图展示1.2整体说明1.2.1:配置ssh项目使用maven,在pom.xml中将ssh相关插件进行配置,当然,不管使 用maven还是直接下载ssh三部分的相关插件通过导入的方式进行ssh环境配置,其最终结果都是ss......
  • 基于Java+Dijkstra算法的地铁线路换乘最短路径项目(免费提供全部源码)
    下载地址如下:基于Java+Dijkstra算法的地铁线路换乘最短路径项目(免费提供全部源码)资源-CSDN文库项目介绍背景随着城市化进程的不断推进,地铁已成为现代大城市公共交通系统的核心组成部分。地铁线路的日益复杂和站点的不断增加,使得乘客在出行时面临换乘路线选择的困扰。为了提......
  • 基于Java的汽车在线销售系统
    你好呀,我是计算机学长猫哥!如果有需求可以文末加我。开发语言:Java数据库:MySQL技术:Java技术工具:IDEA/Eclipse、Navicat、Maven系统展示首页用户信息管理车辆信息管理订单状态管理摘要本文介绍了汽车在线销售系统的设计与实现,该系统基于Java技术开发,采用B/S结......
  • 华为OD机试2024年最新题库(Python、JAVA、C、C++合集)C卷+D卷
    介绍博主介绍:CSDN领军人物top1的作者,全网粉丝30w+,文章累计被阅读3800w+,直接帮助200+,间接帮助800+同学进入od添加或私信博主免费获取本题解析以及代码24年5月份开始,考的都是OD统一考试(D卷),题库已经整理好了,命中率95%以上。5-10月份考的都是D卷真题,都是原题,圈内有多种......
  • JAVA面向对象练习题
    题目要求:        定义图书类(Book),要求有属性name(书名),price(价格),author(作者),对Book类进行封装。在测试类里的主方法中创建3本图书对象,并赋值。创建一个长度为3的Book类数组,在数组里,存放这3个图书对象。题目分析:  图书类Book:    属性:   ......
  • How to use JavaScript BigInt and Number.prototype.toString to handle the super l
    HowtouseJavaScriptBigIntandNumber.prototype.toStringtohandlethesuperlargeintegerproblemsAllInOne如何使用JavaScriptBigInt和Number.prototype.toStringg处理超大整数问题errorsfunctionplusOne(digits:number[]):number[]{letn=parseI......
  • 宝塔面板部署ruoyi-admin_jar(java项目)
    1.创建文件夹,上传jar文件:/www/wwwroot/域名/ruoyi-admin_jar2.点击网站-》添加Java项目3.选择已上传的jar文件-》添加对应域名-》配置后端路径:/prov-api,配置前端路径:/www/wwwroot/域名/dist(其他的默认)4.点击确认,等待一下,尝试访问(报错:404前端路径不对,502端口配置不对,401后端api......
  • JavaFX 常见图表组件
    图表组件简介JavaFX提供了一系列的图表组件,允许开发者在应用程序中轻松集成各种图表和图形。名称中文描述BarChart条形图用于显示条形图,条形图通过水平或垂直的条形来表示数据的大小PieChart饼图用于创建饼图,饼图通过不同扇区的角度来展示数据的比例关系Li......
  • JavaFX 常见事件类型及事件处理
    什么是事件驱动编程事件驱动编程是一种编程范式,其中程序的执行流程是由外部事件(如用户输入、传感器读数、消息接收等)触发的。在这种模式下,程序不是按照预定的顺序执行,而是响应事件来执行代码。这种编程方式在需要处理异步操作或与用户交互的应用程序中非常常见。事件驱动编程广......
  • java中的枚举
    目录定义使用枚举与switch所有枚举类都是Enum的子类枚举类的构造器枚举类可以有成员枚举类可以有抽象方法每个枚举类都有两个特殊的方法定义一个类有多个实例,但是实例的个数不是无穷的,是有限的。枚举类中的实例称为枚举项,一般来说,一个枚举类不应该有太多的枚举项。使用public......