java计算器 图形用户界面 精简版
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计算器 图形用户界面 精简版的更多相关文章
- java计算器 图形用户界面 升级版 v1.02
package com.rgy.entity; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayo ...
- java GUI(图形用户界面)
GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Command line User Interface ( ...
- 借助WindowBuilder插件轻松完成JAVA图形用户界面编辑
如果以纯代码的形式进行JAVA的图形用户界面编辑,将是一件非常痛苦的事,博主在学习过程中发现了JAVA GUI编辑神器——WindowBuilder,提供可视化的编辑界面,控件的添加.排版只需使用鼠标 ...
- java第八节 GUI/图形用户界面
/* *第8讲 GUI/图形用户界面 * AWT的基础知识 * GUI全称是Graphical User Interface,即图形用户界面 * JDK中提供了AWT和Swing两个包,用于GUI程序 ...
- 黑马程序员——【Java基础】——GUI(图形用户界面)
---------- android培训.java培训.期待与您交流! ---------- 一.概述 1.GUI(GraphicalUser Interface):又称图形用户界面,是计算机用户与计 ...
- HTML5技术实现Web图形图像处理——WebPhotoshop精简版
WebPhotoshop精简版是利用HTML5技术在Web上实现对图形图像的处理,构建易维护.易共享.易于拓展.实时性的Web图形图像处理平台. 精简版功能包括:图形绘制.图像处理.图像操作.完整版包 ...
- 抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立 图形用户界面
抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立 图形用户界面GUI (Graphics User Interface)工具集,AWT可用 ...
- AWT是Java基础类 (JFC)的一部分,为Java程序提供图形用户界面(GUI)的标准API
抽象窗口工具包 (Abstract Windowing Toolkit) (AWT)是Java的平台独立的窗口系统,图形和用户界面器件工具包. AWT是Java基础类 (JFC)的一部分,为Java程 ...
- Java图形用户界面编程
1.Java图形用户界面编程概述 JavaAPI中提供了两套组件用于支持编写图形用户界面:AWT(抽象窗口包)和Swing 2. 容器(Container):重量级容器和轻量级容器(一个容器可以放置 ...
随机推荐
- 无向图的最短路径算法JAVA实现(转)
一,问题描述 给出一个无向图,指定无向图中某个顶点作为源点.求出图中所有顶点到源点的最短路径. 无向图的最短路径其实是源点到该顶点的最少边的数目. 本文假设图的信息保存在文件中,通过读取文件来构造图. ...
- java Process在windows的使用汇总(转)
最常用的是ant(java工程中流行),maven,及通用的exec(只要有shell脚本如.sh,.bat,.exe,.cmd等).而其实前两者不容易出错,后者却遇到了以下问题:Caused by: ...
- FZU2181+poj2942(点双连通+判奇圈)
分析:我们对于那些相互不憎恨的人连边,将每次参加会议的所有人(不一定是全部人,只需人数>=3且为奇数)看做一个点双联通分量,那么每个点都至少有两个点与他相邻.即需要保证双联通分量中存在奇圈.至于 ...
- 红黑树-Python实现
#coding:utf8 #author:HaxtraZ #description:红黑树,python实现 RED = 'red' BLACK = 'black' class RBT: def __ ...
- hdu2102(bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2102 分析:bfs求最短时间到达'P'点,不过本题有好几个trick,我都踩到了,自己还是太嫩了... ...
- 2014鞍山现场赛C题HDU5072(素筛+容斥原理)
Coprime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total ...
- Linux好书、经典书籍推荐
Linux好书.经典书籍推荐 思想篇 <Linux/Unix设计思想> 图书将Unix与Linux的原理有效地结合起来,总结了Unix/Linux软件开发中的原则.在保留了第1版中Unix ...
- 使用cacti监控服务器
一.cacti安装 cacti需要lamp环境,因此需要首先编译安装lamp环境,安装完成后,下载cacti的zip包,解压到/www/htdocs目录下,创建cacti需要的数据库. 完成上述后,在 ...
- SlidingMenu开源项目滑动界面的实现总结
先上图 须要准备的是先得在GitHub上下载ActionBarSherlock-master.zip,和SlidingMenu-master.zip这两个开源文件,然后解压这两个包,SlidingMe ...
- sharpSVN说明文档
http://sharpsvn.open.collab.net/docs/walkthrough.htm