java按钮退出_java – 如何在此程序中添加退出按钮?怎么样“清楚”?

我需要添加一个“清除计算器”的按钮,以及一个退出butPanel上的程序的按钮.它也需要是非常基本的

Java代码,因为我是初学者,并且有一个糟糕的comp.sci.老师.我有一个带退出按钮的代码示例,但我不确定如何将它放入我的程序中.我已经尝试了这么多.

此外,如果有一个更好的“错误检查”方式,将非常感激.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Calculator2 extends JFrame implements ActionListener

{

JLabel heading = new JLabel ("2. Calculator");

JLabel intro1 = new JLabel ("This program stimulates a four-function calculator.");

JLabel intro2 = new JLabel ("It takes an operator and a number. It can add, subtract,");

JLabel intro3 = new JLabel (" multiply and divide. Enter in the format eg. '+35'. ");

JLabel inLabel = new JLabel (" Operation: ");

JLabel outLabel = new JLabel (" Total: ");

JTextField inOper = new JTextField (7);

JTextField outTota = new JTextField (7); // intro

//panels

JPanel titlePanel = new JPanel ();

JPanel intro1Panel = new JPanel ();

JPanel intro2Panel = new JPanel ();

JPanel intro3Panel = new JPanel ();

JPanel operPanel = new JPanel ();

JPanel totaPanel = new JPanel ();

JPanel butPanel = new JPanel ();

String operTemp;

String totaTemp;

public Calculator2 ()

{

setTitle ("C - 2.");

inOper.addActionListener (this);

outTota.setEditable (false);

getContentPane ().setLayout (new FlowLayout ());

titlePanel.add (heading);

intro1Panel.add (intro1);

intro2Panel.add (intro2);

intro3Panel.add (intro3);

operPanel.add (inLabel);

operPanel.add (inOper);

totaPanel.add (outLabel);

totaPanel.add (outTota); //adds components to panels

getContentPane ().add (titlePanel);

getContentPane ().add (intro1Panel);

getContentPane ().add (intro2Panel);

getContentPane ().add (intro3Panel);

getContentPane ().add (operPanel);

getContentPane ().add (totaPanel); //Adds panels to Frame

setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

}

public static int isInteger (String input)

{

try

{

Integer.parseInt (input);

return Integer.parseInt (input);

}

catch (NumberFormatException nfe)

{

return 0;

}

} //isInteger method

// The application

public String calculate (String operation, String newtotal)

{

int total = isInteger (newtotal);

String totalS;

char operator;

int number = 0;

operator = operation.charAt (0);

if (operator == '+')

{

number = isInteger (operation.substring (1));

total = total + number;

totalS = Integer.toString (total);

}

else if (operator == '-')

{

number = isInteger (operation.substring (1));

total = total - number;

totalS = Integer.toString (total);

}

else if (operator == '*')

{

number = isInteger (operation.substring (1));

total = total * number;

totalS = Integer.toString (total);

}

else if (operator == '/')

{

number = isInteger (operation.substring (1));

total = total / number;

totalS = Integer.toString (total);

}

else

{

totalS = ("ERROR");

}

if (number == 0)

{

totalS = ("ERROR");

}

return totalS;

} // calculate method

public void actionPerformed (ActionEvent evt)

{

String userIn = inOper.getText ();

String totalIn = outTota.getText ();

try

{

totaTemp = calculate (userIn, totalIn);

outTota.setText (totaTemp + "");

}

catch (Exception ex)

{

outTota.setText ("ERROR");

}

repaint ();

}

public static void main (String[] args)

{

Calculator2 calc = new Calculator2 ();

calc.setSize (350, 350);

calc.setResizable (false);

calc.setVisible (true);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python土味情话_Python 将土味情话语录设置为桌面壁纸

本文编写于 128 天前,最后修改于 128 天前,其中某些信息可能已经过时。41041-3yfokd0irbe.png38220-tlrmwji3zwo.pngimport osimport tempfileimport timeimport requestsimport win32apiimport win32conimport win32guifrom PIL import Image, ImageDra…

Day70力扣打卡

打卡记录 收集足够苹果的最小花园周长&#xff08;找规律 二分&#xff09; 链接 class Solution:def minimumPerimeter(self, neededApples: int) -> int:l, r 1, 10 ** 5while l < r:mid (l r) >> 1if 2 * (2 * (mid ** 3) 3 * (mid ** 2) mid) > nee…

bootstrap加载mysql数据库_bootstrap后台管理系统前后台实现(含数据库)

撰写本文档目的是让后续开发者在理解该系统架构的基础上遵循一定规范保持系统架构的合理性&#xff1b;同时也能够达到允许没有开发经验仅有web基础的入门开发者能够通过复制粘贴的方式仿照demo示例进行开发的目的。目 录1 案例调研与选取... 21.1 案例调研... 21.…

幻兽天下修复版java_宠物天下四-幻兽天下

快速搜索机型:诺基亚 N70系列(176208)7610 3230 6600 6260 6620 6630 6670 6680 6681 6682 N70 N72 ;松下: X700 X800 ;联想: P930诺基亚 N73系列(240320)N73 5320 5320XM 5320di_XM 5630XM 5700 5700XM 5710XM 5730XM 6110 6110N 6120 6120C 6120ci 6121 6122C 6124C 6210S 62…

java类spring加载_spring的加载机制?

1,今天面试官问我spring的加载机制有哪些---这么"抽象"的问题作为一个十多年经验的自己写过MVC,IOC,ORM, 等各种中间件小框架的开发人员也回答不出来~确切的说是无从谈起,不知道从哪个角度说这个事情,在我的观点里这个问题本身的问法就有问题,什么叫"加载机制&q…

java计数器策略模式_java设计模式(二十一)--策略模式

对于策略模式,我在很多面试题上看到过考察这一类的问题,这种模式也的确比较好用。 我感觉这种模式就是将不同实现的方法放到一个接口中,然后通过实现这个接口来实现不同的运行结果,这种模式有三部分构成: 策略接口 策略实现类 策略作用类(使用策略的类) 网络上的专业解释:此模式…

java负数十进制转二进制_java中负数的补码转换为十进制

C&plus;&plus;全局和静态变量初始化转自:http://www.cnblogs.com/zhenjing/archive/2010/10/15/1852116.html 对于C语言的全局和静态变量,不管是否被初始化,其内存空间都是全局的 ...eclips常用快捷键本文取自:Eclipse中常用快捷键 - yizhang88的专栏 - 博客频道 - CSD…

linux setuid函数_setuid函数解析

在讨论这个setuid函数之前&#xff0c;我们首先要了解的一个东西就是内核为每个进程维护的三个UID值。这三个UID分别是实际用户ID(real uid)、有效用户ID(effective uid)、保存的设置用户ID(saved set-user-ID)。首先说这个实际用户ID&#xff0c;就是我们当前以哪个用户登录了…

java中asl_带你认识绕不开的ASLR

微软从windows vista/windows server 2008(kernel version 6.0)开始采用ASLR技术&#xff0c;主要目的是为了防止缓冲区溢出ASLR技术会使PE文件每次加载到内存的起始地址随机变化&#xff0c;并且进程的栈和堆的起始地址也会随机改变。ASLR(Address space layout randomization…

java复杂性_java – 计算Big-O复杂性

我最终会给这个程序一个类似60,000个400像素图像的输入文件,所以我试着想一想这个代码如何用大输入运行.为了便于阅读,我用“blah”和所有带有简单字母(nn,mm和kk)的ArrayList名称替换了不重要的东西.for (Perceptron P : nn){//blah}for (Perceptron P : mm) {//blah}for (Per…

java泛型与接口_Java泛型用于方法,类和接口

什么是泛型&#xff1f;型就是数据类型参数化。就是说原本定死的数据类型像方法中的形参一样&#xff0c;数据是不确定的&#xff0c;使用的时候由人传进去&#xff0c;泛型就是这样&#xff0c;数据类型不确定了。使用的时候再确定就可以了。泛型的特点是JDK1.5的新特性泛型可…

unix系统编码 java_JAVA字符编码系列三:Java应用中的编码问题

这两天抽时间又总结/整理了一下各种编码的实际编码方式&#xff0c;和在Java应用中的使用情况&#xff0c;在这里记录下来以便日后参考。为了构成一个完整的对文字编码的认识和深入把握&#xff0c;以便处理在Java开发过程中遇到的各种问题&#xff0c;特别是乱码问题&#xff…

Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获

mybatis有两种方式&#xff0c;一种是基于XML&#xff0c;一种是基于注解springboot集成mybatis首先先创建表&#xff0c;这里都简化了DROP TABLE IF EXISTS user;CREATE TABLE user (id int(11) NOT NULL auto_increment,username varchar(255) default NULL,PRIMARY KEY (id)…

java背景图片加上组件_关于 java swing组件加背景图片的问题

最近自己做了一个小的进销存软件,背景图片加上后不能最大化。尝试了好几种方法 最后终于把问题解决了。下面把自己写的实例 分享一下&#xff1a;一个是在JFrame窗体中加如背景图片一个是在Jpanel 面板中加入背景图片都可以伸缩铺满整个屏幕&#xff0c;算是自己的一个小心得。…

java applet 访问文件_使用JavaApplet访问数据库

使用Java Applet访问数据库学习任何的程序语言&#xff0c;当然都得与数据库&#xff0c;Java刚刚诞生的时候&#xff0c;对数据库的支持并不是很好&#xff0c;经过这几年的发展&#xff0c;它对数据库的支持也已经完全达到了成熟的境地。由于这里主要是介绍Java Applet小程序…

java ip 范围内打卡_定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内

具体代码如下所述&#xff1a;/* 计算两组经纬度坐标之间的距离* param $lat1 纬度1* param $lng1 经度1* param $lat2 纬度2* param $lng2 经度2* param int $len_type 返回值类型(1-m 2-km)* param int $decimal 保留小数位数* return float*/public function getDistance($l…

与java线程有关的,线程多少和什么有关?大神们表示有话要说!

原标题&#xff1a;线程多少和什么有关&#xff1f;大神们表示有话要说&#xff01;来源&#xff1a;importnew.com/10780.htmlEddie的回答:Charlie Martin的回答:benjismith的回答:Neil Coffey的回答:McGovernTheory在StackOverflow提了这样一个问题:Java虚拟机最多支持多少个…

php正则表达式 匹配数字,正则表达式之匹配数字范围

最近有个需求就是根据产品编号批量下架产品&#xff0c;需要下架日期为16-31号之间的产品&#xff0c;比如编号为B201607280023匹配表达式如下:^201607(1[6-9]|2[0-9]|3[0-1]).逻辑很简单&#xff0c;如果是必须是1或2或3开头&#xff0c;如果是1开头则后面范围为6-9&#xff0…

php中带?错误,参考-此错误在PHP中意味着什么?

这是什么&#xff1f;这是有关警告&#xff0c;错误和注意事项的许多答案&#xff0c;这些警告&#xff0c;错误和注意事项在您对PHP进行编程时可能会遇到&#xff0c;并且不知道如何解决它们。这也是一个社区Wiki&#xff0c;因此邀请所有人参与添加并维护此列表。为什么是这样…

yiilite.php,YII Framework学习教程-YII的V-view的render若干函数-2011-11-17 | 学步园

YII中&#xff0c;在action可以通过$this->render来指定它的view。其实还其他一$this->render开头的函数。yiilite.php中有这么几个函数。public function renderText($text,$returnfalse){if(($layoutFile$this->getLayoutFile($this->layout))!false)$text$this-…