package com.langsin.awt;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Count {
public static void main(String[] args) {
class Action{
private int num = 0;
public boolean flag = false;
private int type = 0;
}
final Action action = new Action();
final Frame frame = new Frame("简单计算器");
frame.setBounds(200, 200, 400, 200);
frame.setLayout(null);
frame.setResizable(false);
Font font = new Font("宋体",Font.BOLD,20);
final TextField field = new TextField("0");
field.setBounds(10, 40, 380, 30);
field.setFont(font);
field.setEditable(false);
field.setBackground(Color.WHITE);
frame.add(field);
Button btn0 = new Button("0");
btn0.setBounds(10, 80, 68, 30);
btn0.setFont(font);
frame.add(btn0);
btn0.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("0");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"0");
}
}
});
Button btn1 = new Button("1");
btn1.setBounds(88, 80, 68, 30);
btn1.setFont(font);
frame.add(btn1);
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("1");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"1");
}
}
});
Button btn2 = new Button("2");
btn2.setBounds(166, 80, 68, 30);
btn2.setFont(font);
frame.add(btn2);
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("2");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"2");
}
}
});
Button btn3 = new Button("3");
btn3.setBounds(244, 80, 68, 30);
btn3.setFont(font);
frame.add(btn3);
btn3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("3");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"3");
}
}
});
Button btn4 = new Button("4");
btn4.setBounds(322, 80, 68, 30);
btn4.setFont(font);
frame.add(btn4);
btn4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("4");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"4");
}
}
});
Button btn5 = new Button("5");
btn5.setBounds(10, 120, 68, 30);
btn5.setFont(font);
frame.add(btn5);
btn5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("5");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"5");
}
}
});
Button btn6 = new Button("6");
btn6.setBounds(88, 120, 68, 30);
btn6.setFont(font);
frame.add(btn6);
btn6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("6");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"6");
}
}
});
Button btn7 = new Button("7");
btn7.setBounds(166, 120, 68, 30);
btn7.setFont(font);
frame.add(btn7);
btn7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("7");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"7");
}
}
});
Button btn8 = new Button("8");
btn8.setBounds(244, 120, 68, 30);
btn8.setFont(font);
frame.add(btn8);
btn8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("8");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"8");
}
}
});
Button btn9 = new Button("9");
btn9.setBounds(322, 120, 68, 30);
btn9.setFont(font);
frame.add(btn9);
btn9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if("0".equals(value) || action.flag){
field.setText("9");
if(action.flag){
action.flag = false;
}
}else{
field.setText(value+"9");
}
}
});
Button btnc = new Button("c");
btnc.setBounds(10, 160, 68, 30);
btnc.setFont(font);
frame.add(btnc);
btnc.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
field.setText("0");
action.flag = false;
action.num = 0;
action.type = 0;
}
});
Button btnadd = new Button("+");
btnadd.setBounds(88, 160, 68, 30);
btnadd.setFont(font);
frame.add(btnadd);
btnadd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
action.num = Integer.parseInt(value);
action.flag = true;
action.type = 1;
}
});
Button btnsub = new Button("-");
btnsub.setBounds(166, 160, 68, 30);
btnsub.setFont(font);
frame.add(btnsub);
btnsub.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
action.num = Integer.parseInt(value);
action.flag = true;
action.type = 2;
}
});
Button btn = new Button("=");
btn.setBounds(244, 160, 146, 30);
btn.setFont(font);
frame.add(btn);
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String value = field.getText();
if(action.type == 1){
int result = action.num + Integer.parseInt(value);
field.setText(String.valueOf(result));
}
if(action.type == 2){
int result = action.num - Integer.parseInt(value);
field.setText(String.valueOf(result));
}
action.type = 0;
}
});
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
frame.dispose();
}
});
}
}