package com.rgy.entity;

import java.awt.*;
import java.awt.event.*; @SuppressWarnings("serial")
public class Computer extends Frame implements ActionListener{
private Panel panel_keys;
private TextField text_show;
private String str="";
private double num_record=0;
private int count_cut=0;
private int count_multiplication=0;
private int count_division=0;
private int op=0;
private Button button_num0;private Button button_num1;
private Button button_num2;private Button button_num3;
private Button button_num4;private Button button_num5;
private Button button_num6;private Button button_num7;
private Button button_num8;private Button button_num9;
private Button button_division;
private Button button_multiplication;
private Button button_cut;
private Button button_add;
private Button button_equal;
private Button button_point; public Computer(){
super("计算器");
this.setVisible(true);
this.setBounds(500,250,300,250); panel_keys=new Panel();
text_show=new TextField();
text_show.setEditable(false); button_num0=new Button("0");button_num1=new Button("1");
button_num2=new Button("2");button_num3=new Button("3");
button_num4=new Button("4");button_num5=new Button("5");
button_num6=new Button("6");button_num7=new Button("7");
button_num8=new Button("8");button_num9=new Button("9");
button_division=new Button("/");
button_multiplication=new Button("*");
button_cut=new Button("-");
button_add=new Button("+");
button_equal=new Button("=");
button_point=new Button("."); this.add(text_show,BorderLayout.NORTH);
this.add(panel_keys,BorderLayout.CENTER); panel_keys.add(button_num7);panel_keys.add(button_num8);panel_keys.add(button_num9);panel_keys.add(button_division);
panel_keys.add(button_num4);panel_keys.add(button_num5);panel_keys.add(button_num6);panel_keys.add(button_multiplication);
panel_keys.add(button_num1);panel_keys.add(button_num2);panel_keys.add(button_num3);panel_keys.add(button_cut);
panel_keys.add(button_num0);panel_keys.add(button_point);panel_keys.add(button_equal);panel_keys.add(button_add); panel_keys.setLayout(new GridLayout(4,4)); this.addWindowListener(new WinClose());
button_num0.addActionListener(this);
button_num1.addActionListener(this);
button_num2.addActionListener(this);
button_num3.addActionListener(this);
button_num4.addActionListener(this);
button_num5.addActionListener(this);
button_num6.addActionListener(this);
button_num7.addActionListener(this);
button_num8.addActionListener(this);
button_num9.addActionListener(this);
button_division.addActionListener(this);
button_multiplication.addActionListener(this);
button_add.addActionListener(this);
button_cut.addActionListener(this);
button_equal.addActionListener(this);
button_point.addActionListener(this);
} //键盘事件监听
public void actionPerformed(ActionEvent ev) {
if(ev.getSource()==button_num0){
str=text_show.getText()+"0";
text_show.setText(str);
}
if(ev.getSource()==button_num1){
str=text_show.getText()+"1";
text_show.setText(str);
}
if(ev.getSource()==button_num2){
str=text_show.getText()+"2";
text_show.setText(str);
}
if(ev.getSource()==button_num3){
str=text_show.getText()+"3";
text_show.setText(str);
}
if(ev.getSource()==button_num4){
str=text_show.getText()+"4";
text_show.setText(str);
}
if(ev.getSource()==button_num5){
str=text_show.getText()+"5";
text_show.setText(str);
}
if(ev.getSource()==button_num6){
str=text_show.getText()+"6";
text_show.setText(str);
}
if(ev.getSource()==button_num7){
str=text_show.getText()+"7";
text_show.setText(str);
}
if(ev.getSource()==button_num8){
str=text_show.getText()+"8";
text_show.setText(str);
}
if(ev.getSource()==button_num9){
str=text_show.getText()+"9";
text_show.setText(str);
}
if(ev.getSource()==button_point){
str=text_show.getText()+".";
text_show.setText(str);
}
if(ev.getSource()==button_add){
if(op==5){}
else{
num_record=num_record+Double.parseDouble(str);
}
str="";
text_show.setText(str);
op=1;
}
if(ev.getSource()==button_cut){
if(op==5){}
else{
if(count_cut==0){
num_record=Double.parseDouble(str);
count_cut++;
}
else{
num_record=num_record-Double.parseDouble(str);
}
}
str="";
text_show.setText(str);
op=2;
}
if(ev.getSource()==button_multiplication){
if(op==5){}
else{
if(count_multiplication==0){
num_record=Double.parseDouble(str);
count_multiplication++;
}
else{
num_record=num_record*Double.parseDouble(str);
}
}
str="";
text_show.setText(str);
op=3;
}
if(ev.getSource()==button_division){
if(op==5){}
else{
if(count_division==0){
num_record=Double.parseDouble(str);
count_division++;
}
else{
num_record=num_record/Double.parseDouble(str);
}
}
str="";
text_show.setText(str);
op=4;
}
if(ev.getSource()==button_equal){
if(op==1){
num_record=num_record+Double.parseDouble(str);
}
if(op==2){
num_record=num_record-Double.parseDouble(str);
}
if(op==3){
num_record=num_record*Double.parseDouble(str);
}
if(op==4){
num_record=num_record/Double.parseDouble(str);
} if(num_record-(int)num_record==0){
text_show.setText(""+(int)num_record);
}
else{
text_show.setText(""+num_record);
}
op=5;
}
} //窗体事件监听
public class WinClose implements WindowListener {
public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
}
} package com.rgy.Test; import com.rgy.entity.*; public class Test {
public static void main(String args[]){
new Computer();
}
}

版权声明:本文博主原创文章。博客,未经同意不得转载。

java计算器 图形用户界面 精简版的更多相关文章

  1. java计算器 图形用户界面 升级版 v1.02

    package com.rgy.entity; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayo ...

  2. java GUI(图形用户界面)

    GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Command line User Interface ( ...

  3. 借助WindowBuilder插件轻松完成JAVA图形用户界面编辑

    如果以纯代码的形式进行JAVA的图形用户界面编辑,将是一件非常痛苦的事,博主在学习过程中发现了JAVA GUI编辑神器——WindowBuilder,提供可视化的编辑界面,控件的添加.排版只需使用鼠标 ...

  4. java第八节 GUI/图形用户界面

    /* *第8讲 GUI/图形用户界面 * AWT的基础知识 * GUI全称是Graphical User Interface,即图形用户界面 * JDK中提供了AWT和Swing两个包,用于GUI程序 ...

  5. 黑马程序员——【Java基础】——GUI(图形用户界面)

    ---------- android培训.java培训.期待与您交流! ---------- 一.概述 1.GUI(GraphicalUser Interface):又称图形用户界面,是计算机用户与计 ...

  6. HTML5技术实现Web图形图像处理——WebPhotoshop精简版

    WebPhotoshop精简版是利用HTML5技术在Web上实现对图形图像的处理,构建易维护.易共享.易于拓展.实时性的Web图形图像处理平台. 精简版功能包括:图形绘制.图像处理.图像操作.完整版包 ...

  7. 抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立 图形用户界面

    抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立 图形用户界面GUI (Graphics User Interface)工具集,AWT可用 ...

  8. AWT是Java基础类 (JFC)的一部分,为Java程序提供图形用户界面(GUI)的标准API

    抽象窗口工具包 (Abstract Windowing Toolkit) (AWT)是Java的平台独立的窗口系统,图形和用户界面器件工具包. AWT是Java基础类 (JFC)的一部分,为Java程 ...

  9. Java图形用户界面编程

    1.Java图形用户界面编程概述 JavaAPI中提供了两套组件用于支持编写图形用户界面:AWT(抽象窗口包)和Swing 2.  容器(Container):重量级容器和轻量级容器(一个容器可以放置 ...

随机推荐

  1. C++ 指针—02 指针与引用的对照

    ★同样点: ●都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:而引用则是某块内存的别名. ★不同点: ●指针是一个实体,而引用仅是个别名: ●引用仅仅能在定义时被初始化一次,之后不可变: ...

  2. POI数据下载器

    偶尔用点儿POI数据,所以写了一个下载器.用到的东西还真不少. 功能点 +编写翻页脚本 +CSharp与JS交互 +POI数据转换json +CSharp的json序列化类 +CSharp读写json ...

  3. Spring3.0官网文档学习笔记(七)--3.4.2

    3.4.2 依赖与配置的细节     3.4.2.1  Straight values (primitives, Strings, and so on)     JavaBeans PropertyE ...

  4. Android 启动过程的底层实现

    转载请标明出处:  http://blog.csdn.net/yujun411522/article/details/46367787 本文出自:[yujun411522的博客] 3.1 androi ...

  5. 福利 城市名的python list

    ["上海","北京","北京市","朝阳","朝阳区","海淀","元 ...

  6. 【剑指offer】旋转数组的最小值

    採用二分查找的策略,重点要考虑一些边界情况:旋转了0元素.即输入的是一个升序排列的数组.仅仅包括一个数字的数组.有非常多反复数字的数组等. AC代码: #include<stdio.h> ...

  7. 【转向Javascript系列】深入理解Generators

    随着Javascript语言的发展,ES6规范为我们带来了许多新的内容,其中生成器Generators是一项重要的特性.利用这一特性,我们可以简化迭代器的创建,更加令人兴奋的,是Generators允 ...

  8. 在项目里交叉使用Swift和OC

    Swift and Objective-C in the Same Project 在项目里交叉使用Swift和OC Swift与OC的兼容性使得你能够在项目里使用Swift+OC的方式编写应用程序, ...

  9. 蓝缘管理系统第二个版本号开源了。springMVC+springSecurity3.x+Mybaits3.x 系统

    蓝缘管理系统第二个版本号开源了 继于 http://blog.csdn.net/mmm333zzz/article/details/16863543 版本号一.版本号二 对springMVC+spri ...

  10. 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!

    本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...