Java写计算器自闭了
要求:
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写计算器自闭了相关推荐
- 用java写计算器(包括保存记录到文件和计算行列式功能)
这个计算器是我上大二java课时写的程序设计,现在已经研一啦.记得当时可是写了好多天呢,以前不懂起名的讲究,大多用的都是ABCD代替,大家凑合看看,可以作为java课程设计的参考,主要有三个界面,主界 ...
- 实验楼Java写计算器_Java版图形界面计算器
Java 版图形界面计算器 实验说明及介绍 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 环境介绍 本实验环境采用带桌面的 Ubuntu Linux 环境,实验 ...
- 用Java写一个年薪计算器,助你简单完成大量税前税后总薪计算量
每个有规模一点的公司都会有会计部门这是毋庸置疑的,但是会计的工作真的如大部分人想的那么简单,只是在每个月的最后几天才忙得不可开交吗 ? 答案当然不是,不然这个岗位早就人满为患了. 目前就我了解到的会计 ...
- java代码 计算器_java代码---------计算器实现
总结:虽然,没有人会帮你到底,凭什么要对你怜香惜玉 注意实现哪一个运算就把相关代码放在else if这个判断语句里面 package com.rue; import java.awt.BorderLa ...
- java实现计算器_java高级计算器的实现
不仅可以实现+,-,*,/,( ,) ,log ,ln,√ , ^ , cos ,sin,tan ,还支持最大500长度的字符运算.本程序是我上课的时候老师讲的,可能不是老师的原创,希望对有些同学有用 ...
- 面向对象软件设计原则【JAVA】(开闭原则、里氏代换、依赖倒转、接口隔离、迪米特法则、合成复用原则)
软件设计原则[JAVA](开闭原则.里氏代换.依赖倒转.接口隔离.迪米特法则.合成复用原则) 1.开闭原则 2.里氏代换原则 3.依赖倒转原则 4.接口隔离原则 5.迪米特法则 6.合成复用原则 1. ...
- Java 简单计算器(加法)
Java 简单计算器(加法) 结构图: 如何用java写一个简易的加法计算器?本人菜鸟一枚,半个小时完成.大部分代码的解读注释已经标记好了,如下 程序入口 程序的main方法应该始终保持干净清爽, ...
- java编程计算器程序代码_34 个送给 Java 程序员的练手项目合集
人类一生中,99% 的技能都是靠实践学来的,编程更是如此. 在这一点上,编程和打篮球很像:你得亲自上场去打,才能学会篮球:同样,亲手敲下代码,才能真正学会「编程」.太多人看完一本书.几个 G 的视频后 ...
- Java制作计算器实现加减乘除
Java制作计算器主要需要考虑的是加减乘除的运算顺序的优先级, 比如: 20-2-1.7*4/5-4*2 需要先计算1.7*4/5, 再计算4 *2, 最后从左往右计算加减. 网上其他的一些计算器都是 ...
最新文章
- web类协议脚本-飞机订票系统示例
- 什么样的NLP库,可以支持53种语言?
- 快学Scala-第八章 继承
- 全球最性感的13大仿真机器人 功能太全难把持!
- 服务器和云服务器的安全性哪个更好?—Vecloud
- expect 赋值shell变量_Shell处理字符串常用技巧终结篇
- AppDelegate文件下各方法的用法:(应用程序挂起、复原与终止)
- 关于新APP,从交底书入手
- 云更新网吧系统服务器,云更新网吧无盘
- 小老鼠冒险记:《Moss 2》幕后花絮
- 怎样用word制作标准格式公文操作实例
- 轻量化网络—ShuffleNet V1 V2理解
- 一个实施 + 一个软件负责人 = 项目经理?
- 94---Python 极坐标系下绘制双曲螺旋线
- 收藏 年度大盘点 可信计算相关(国家、部委、省市)法律、法规、政策、规划汇总
- wps是什么意思 wps段落设置在哪里,不着急的就看看吧!
- 学生管理系统——PHP
- 分享127个ASP源码,总有一款适合您
- Windows 10 蓝牙管理页面添加蓝牙或其他设备选项点击无响应的解决方案
- 三星530换固态硬盘_轻巧便捷,精致高颜—三星T7 PSSD使用评测_固态硬盘