要求:

1)只需要实现简单的加减乘除功能

2)菜单内容和样式如同系统自带计算器,但功能只需实现退出系统功能

原来错的:

package GUITEST;import java.awt.*;
import javax.swing.*;public class Calculator extends JFrame{JMenuBar jmb;JMenu jm1,jm2,jm3;JTextField jtf;String[] jbName = {"MC","MR","MS","M+","M-","<--","CE","C","±","√","7","8","9","/","%","4","5","6","*","1/x","1","2","3","-","=","0",".","+"};Calculator(){GridBagLayout layout = new GridBagLayout();GridBagConstraints con = new GridBagConstraints();this.setTitle("计算器");this.setBounds(500, 400, 300, 300);this.setLayout(layout);this.setDefaultCloseOperation(EXIT_ON_CLOSE);jmb = new JMenuBar();//菜单栏jmb.setVisible(true);jm1 = new JMenu("查看(V)");jm2 = new JMenu("编辑(E)");jm3 = new JMenu("帮助(H)");jmb.add(jm1);jmb.add(jm2);jmb.add(jm3);con.fill=GridBagConstraints.BOTH;con.weightx=1;con.weighty=0;con.gridwidth=GridBagConstraints.REMAINDER;con.gridheight=1;this.addComponent(jmb, layout, con);jtf = new JTextField("0",25);//文本域jtf.setEditable(false);con.gridheight=2;con.weighty=1;con.weightx=1;con.insets = new Insets(3, 3, 3, 3);//设置组件之间的间距this.addComponent(jtf, layout, con);for(int i=0;i<28;i++) {//按钮的设置JButton jb = new JButton(jbName[i]);con.gridwidth=1;con.gridheight=1;con.weighty=1;con.weightx=1;if( (i+1)%5 == 0 ) {con.gridwidth=GridBagConstraints.REMAINDER;}if(i == 24) {con.gridheight=2;con.weighty=2;}else if(i == 25) {con.gridwidth=2;}else {con.gridheight=1;}this.addComponent(jb, layout, con);}this.setVisible(true);}private void addComponent(Component com, GridBagLayout layout, GridBagConstraints con) {layout.setConstraints(com, con);this.add(com);}public static void main(String[] args) {new Calculator();}
}

改后:改了最后几个按钮的设置用gridx和gridy来设置,第24是在(4,7),

package GUITEST;import java.awt.*;
import javax.swing.*;public class Calculator2 extends JFrame{JMenuBar jmb;JMenu jm1,jm2,jm3;JTextField jtf;String[] jbName = {"MC","MR","MS","M+","M-","<--","CE","C","±","√","7","8","9","/","%","4","5","6","*","1/x","1","2","3","-","=","0",".","+"};Calculator2(){GridBagLayout layout = new GridBagLayout();GridBagConstraints con = new GridBagConstraints();this.setTitle("计算器");this.setBounds(500, 400, 300, 300);this.setLayout(layout);this.setDefaultCloseOperation(EXIT_ON_CLOSE);jmb = new JMenuBar();//菜单栏jmb.setVisible(true);jm1 = new JMenu("查看(V)");jm2 = new JMenu("编辑(E)");jm3 = new JMenu("帮助(H)");jmb.add(jm1);jmb.add(jm2);jmb.add(jm3);con.fill=GridBagConstraints.BOTH;con.weightx=1;con.weighty=0;con.gridwidth=GridBagConstraints.REMAINDER;con.gridheight=1;this.addComponent(jmb, layout, con);jtf = new JTextField("0",25);//文本域jtf.setEditable(false);con.gridheight=2;con.weighty=1;con.weightx=1;con.insets = new Insets(3, 3, 3, 3);//设置组件之间的间距this.addComponent(jtf, layout, con);for(int i=0;i<jbName.length;i++) {//按钮的设置JButton jb = new JButton(jbName[i]);con.gridwidth=1;con.gridheight=1;con.weighty=1;con.weightx=1;if( (i+1)%5 == 0  ) {con.gridwidth=GridBagConstraints.REMAINDER;}if(i==24) {con.gridx=4;con.gridy=7;con.gridheight=2;con.weighty=1;}if(i==25) {con.gridx=0;con.gridy=8;con.gridheight=1;con.gridwidth=2;}if(i>=26) {con.gridx=2;con.gridy=8;con.gridheight=1;con.gridwidth=1;}if(i>=27) {con.gridx=3;con.gridy=8;con.gridheight=1;con.gridwidth=1;}this.addComponent(jb, layout, con);}this.setVisible(true);}private void addComponent(Component com, GridBagLayout layout, GridBagConstraints con) {layout.setConstraints(com, con);this.add(com);}public static void main(String[] args) {new Calculator2();}
}

Java写计算器自闭了相关推荐

  1. 用java写计算器(包括保存记录到文件和计算行列式功能)

    这个计算器是我上大二java课时写的程序设计,现在已经研一啦.记得当时可是写了好多天呢,以前不懂起名的讲究,大多用的都是ABCD代替,大家凑合看看,可以作为java课程设计的参考,主要有三个界面,主界 ...

  2. 实验楼Java写计算器_Java版图形界面计算器

    Java 版图形界面计算器 实验说明及介绍 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 环境介绍 本实验环境采用带桌面的 Ubuntu Linux 环境,实验 ...

  3. 用Java写一个年薪计算器,助你简单完成大量税前税后总薪计算量

    每个有规模一点的公司都会有会计部门这是毋庸置疑的,但是会计的工作真的如大部分人想的那么简单,只是在每个月的最后几天才忙得不可开交吗 ? 答案当然不是,不然这个岗位早就人满为患了. 目前就我了解到的会计 ...

  4. java代码 计算器_java代码---------计算器实现

    总结:虽然,没有人会帮你到底,凭什么要对你怜香惜玉 注意实现哪一个运算就把相关代码放在else if这个判断语句里面 package com.rue; import java.awt.BorderLa ...

  5. java实现计算器_java高级计算器的实现

    不仅可以实现+,-,*,/,( ,) ,log ,ln,√ , ^ , cos ,sin,tan ,还支持最大500长度的字符运算.本程序是我上课的时候老师讲的,可能不是老师的原创,希望对有些同学有用 ...

  6. 面向对象软件设计原则【JAVA】(开闭原则、里氏代换、依赖倒转、接口隔离、迪米特法则、合成复用原则)

    软件设计原则[JAVA](开闭原则.里氏代换.依赖倒转.接口隔离.迪米特法则.合成复用原则) 1.开闭原则 2.里氏代换原则 3.依赖倒转原则 4.接口隔离原则 5.迪米特法则 6.合成复用原则 1. ...

  7. Java 简单计算器(加法)

    Java 简单计算器(加法) 结构图: ​ 如何用java写一个简易的加法计算器?本人菜鸟一枚,半个小时完成.大部分代码的解读注释已经标记好了,如下 程序入口 程序的main方法应该始终保持干净清爽, ...

  8. java编程计算器程序代码_34 个送给 Java 程序员的练手项目合集

    人类一生中,99% 的技能都是靠实践学来的,编程更是如此. 在这一点上,编程和打篮球很像:你得亲自上场去打,才能学会篮球:同样,亲手敲下代码,才能真正学会「编程」.太多人看完一本书.几个 G 的视频后 ...

  9. Java制作计算器实现加减乘除

    Java制作计算器主要需要考虑的是加减乘除的运算顺序的优先级, 比如: 20-2-1.7*4/5-4*2 需要先计算1.7*4/5, 再计算4 *2, 最后从左往右计算加减. 网上其他的一些计算器都是 ...

最新文章

  1. web类协议脚本-飞机订票系统示例
  2. 什么样的NLP库,可以支持53种语言?
  3. 快学Scala-第八章 继承
  4. 全球最性感的13大仿真机器人 功能太全难把持!
  5. 服务器和云服务器的安全性哪个更好?—Vecloud
  6. expect 赋值shell变量_Shell处理字符串常用技巧终结篇
  7. AppDelegate文件下各方法的用法:(应用程序挂起、复原与终止)
  8. 关于新APP,从交底书入手
  9. 云更新网吧系统服务器,云更新网吧无盘
  10. 小老鼠冒险记:《Moss 2》幕后花絮
  11. 怎样用word制作标准格式公文操作实例
  12. 轻量化网络—ShuffleNet V1 V2理解
  13. 一个实施 + 一个软件负责人 = 项目经理?
  14. 94---Python 极坐标系下绘制双曲螺旋线
  15. 收藏 年度大盘点 可信计算相关(国家、部委、省市)法律、法规、政策、规划汇总
  16. wps是什么意思 wps段落设置在哪里,不着急的就看看吧!
  17. 学生管理系统——PHP
  18. 分享127个ASP源码,总有一款适合您
  19. Windows 10 蓝牙管理页面添加蓝牙或其他设备选项点击无响应的解决方案
  20. 三星530换固态硬盘_轻巧便捷,精致高颜—三星T7 PSSD使用评测_固态硬盘

热门文章

  1. 实验6 Sniffer网络安全检测
  2. c实用技巧:纯c对于excel数据表的处理
  3. which语句c语言例子,用which引导的定语从句讲解和句子举例
  4. 康奈尔大学计算机系教授,独家解析康奈尔大学EE专业的五大方向
  5. 【点云3D目标检测】跑通CIA-SSD过程中的一些报错集锦
  6. android开发百度地图步行导航
  7. 音符起始点检测(音频节奏检测)(4.5)
  8. autosar的alarm配置
  9. 微服务电商实战(十一)搭建vue项目对接注册登陆接口,解决跨域问题,使用七牛云实现头像上传
  10. 林业调查规划设计资质申办流程及要求?