教你用java编写计算器(三)

教你用java编写计算器(三)

import java.awt.Color;

import java.awt.Dimension;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Myclass  extends JFrame {

private JPanel jp1,jp2;

private JButton jb;

private JTextField display1, display2, display3;

private JMenuBar jmb;

private JMenu jm;

private JMenuItem jmi;

private final String[] firstmenu = { "查看(V)", "编辑(E)", "帮助(H)" };

private final String[][] secondMenu = {

{ "标准型", "科学型", "程序员", "统计信息", "历史信息", "数字分组", "基本", "单位转换",

"日期计算", "工作表" }, { "复制(C)", "粘贴(P)", "历史记录" },

{ "查看帮助(V)", "关于计算器(A)" } };

private final char[] Mnemonic = { ‘V‘, ‘E‘, ‘H‘ };

private String buttonsName[]={"MC","MR","MS","M+","M-",

"←","CE","C","±","√",

"7","8","9","/","%",

"4","5","6","*","1/x",

"1","2","3","-","=",

"0",".","+"};

public Myclass(){

for (int i = 0; i < buttonsName.length; i++) {

jb = new JButton(buttonsName[i]);

if (i == 24) {

jb.setBounds(i % 5 *(35 +7),65 + i /5 * (29 + 7), 35, 65);

} else if (i ==25) {

jb.setBounds(i % 5 *(35 +7),65 + i /5 * (29 + 7), 77, 29);

} else if (i > 25) {

jb.setBounds(i % 5 *(35 +7)+5+42,65 + i /5 * (29 + 7), 35,29);

} else {

jb.setBounds(i % 5 *(35 +7),65 + i /5 * (29 + 7), 35, 29);//测量长宽和间距

}

jb.setMarigin(new java.awt.Insets(0,0,0,0) );

thsi.add(jb);

{

}{

}

}

this.setTitle("计算器");display2 = new JTextField("0");

display2.setBounds(12, 12, 190, 50);

display2.setFont(new Font("宋体", Font.BOLD, 26));

display2.setHorizontalAlignment(JLabel.RIGHT);

display2.setEnabled(false);

display2.setDisabledTextColor(Color.BLACK);

display2.setBackground(new Color(247, 250, 254));

this.add(display2);

this.setLayout(null);

this.setTitle("计算器");

this.setLocation(500, 200);

this.setSize(230, 320);

this.setBackground(new Color(217, 228, 241));

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new Myclass();

}

}

原文地址:https://www.cnblogs.com/heqingxiaohuo/p/12341660.html

时间: 2024-08-14 15:07:31

教你用java编写计算器(三)的相关文章

软帝学院教你用java编写计算器(二)

软帝学院教你用java编写计算器(二) import java.awt.BorderLayout; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.

用java编写打印三个矩形的程序,并求得他们的面积---函数的应用-

用java里的for语句打印出三个矩形 1.新建一个文本文档,并命名为DrawRectangle.java 2.编写代码--用for语句打印出三个矩形: 3.编译源程序,并运行得出结果 运用函数调用的形式打印出三个矩形 1.把上面的源程序修改为 2.编译并运行 求面积函数的应用 1.编写打印面积的函数getArea(),并在main()中调用. 2.编译并运行程序

教妹学 Java:动态伴侣 Groovy

00.故事的起源 “二哥,听说上一篇<多线程>被 CSDN 创始人蒋涛点赞了?”三妹对她提议的<教妹学 Java>专栏一直很关心. “嗯,有点激动.刚开始还以为是个马甲,没想到是真人!” “其实蒋涛点赞的文章很多很多了,二哥的只是其中一篇而已.”三妹出乎意料地泼起了冷水. “你说得没错.但这的确给我注入了新的能量,蒋涛毕竟是业界的大佬啊.” “那就让我们开始新的篇章吧!我继续来提问,二哥你继续回答.”三妹已经迫不及待了. 01.二哥,什么是 Groovy 啊? 三妹啊,听哥来给你慢

Java设计模式(三)-装饰者模式

我们都知道,可以使用两种方式给一个类或者对象添加行为. 一是使用继承.继承是给一个类添加行为的比较有效的途径.通过使用继承,可以使得子类在拥有自身方法的同时,还可以拥有父类的方法.但是使用继承是静态的,在编译的时候就已经决定了子类的行为,我们不便于控制增加行为的方式和时机. 二是使用关联.组合即将一个对象嵌入到另一个对象中,由另一个对象来决定是否引用该对象来扩展自己的行为.这是一种动态的方式,我们可以在应用程序中动态的控制. 与继承相比,关联关系的优势就在于不会破坏类的封装性,且具有较好的松耦合

一个例子教你理解java回调机制

网上很多例子都写的很难理解,笔者刚开始都已经弄晕菜了. 这个例子,应该是再简单,再简洁不过的了,例子目的是测试某个方法的执行时间.这里就写三个java类,一个接口,一个实现,还有一个用于测试时间的类. 要测试的方法,尽量占用执行的时间,这样明显一些,这里测试循环1000000次,并且打印出来. 测试类: public class MyMethod { public void mytest() { // TODO Auto-generated method stub for (int i = 0;

20135231 JAVA实验报告三:敏捷开发与XP实践

---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如“查网络”.“问同学”.“看书”等一律得0分)以及分析(从中

java面向对象编程(三)--类变量、类方法

1.什么是类变量? 类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量. 如何定义类变量? 定义语法:     访问修饰符 static 数据类型 变量名; 如何访问类变量?     类名.类变量名 或者 对象名.类变量名 案例:有一群小孩玩堆雪人,不时有新的小朋友加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决. public class Demo113{ public static

Java多线程(三)、线程同步(转)

Java多线程(三).线程同步 分类: javaSE综合知识点 2012-09-18 17:59 2400人阅读 评论(0) 收藏 举报 在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系.可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种奇怪的问题.现在就来学习多线程对数据访问的控制吧. 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题.Java语言提供了专门机制以解决这种冲突,有效避免了同一个数

Java编写基于netty的RPC框架

一 简单概念 RPC: ( Remote Procedure Call),远程调用过程,是通过网络调用远程计算机的进程中某个方法,从而获取到想要的数据,过程如同调用本地的方法一样. 阻塞IO :当阻塞I/O在调用InputStream.read()方法是阻塞的,一直等到数据到来时才返回,同样ServerSocket.accept()方法时,也是阻塞,直到有客户端连接才返回,I/O通信模式如下: 图片描述(最多50字) 缺点:当客户端多时,会创建大量的处理线程,并且为每一个线程分配一定的资源;阻塞