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. 数组去重Array

    var aee3=[31,42,13,19,5,11,8,13,40,39,1,8,44,15,3]; Array.prototype.unqu2=function(){ this.sort(); v ...

  2. Java中的工具类和新特性

    1:Collections集合框架工具类: /* 集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么差别? Co ...

  3. 解决SQL查询总是超时已过期

    解决SQL查询总是超时已过期 .在WIN8里提示:OLE DB 或 ODBC 错误 : 查询超时已过期; HYT00 1.由于数据库设计问题造成SQL数据库新增数据时超时 症状:   Microso ...

  4. poj1836--Alignment(dp,最长上升子序列变形)

    Alignment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 13319   Accepted: 4282 Descri ...

  5. LINUX专题之操作系统字符集

    原创作品,出自 "深蓝的blog" 博客,欢迎转载.转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog: http://blog.csdn.net/huangyanl ...

  6. [Java聊天室server]实战之五 读写循环(服务端)

    前言 学习不论什么一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列尽管涉及的是socket相关的知识,但学习之前,更 ...

  7. HDOJ 4964 Emmet

    递归语法翻译... Emmet Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others ...

  8. PhantomJS是一个基于WebKit的服务器端JavaScript API

    PhantomJS是一个基于WebKit的服务器端JavaScript API,它基于 BSD开源协议发布.PhantomJS无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM ...

  9. poj1236(强连通缩点)

    传送门:Network of Schools 题意:一些学校联接在一个计算机网络上,学校之间存在软件支援协议,每个学校都有它应支援的学校名单(A学校支援学校B,并不表示B学校一定支援学校A).当某校获 ...

  10. Cocos2d-x v3.0正式版尝鲜体验【3】 Label文本标签

    Cocos2d-x在新版本号中增加了新的Label API.和以往不同的是,2.x的版本号是通过三个不同的类来创建不同的文本标签,而如今是模仿着精灵的创建方式.一个类创建不同形式的文本,只是核心内容还 ...