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

2014-11-23 22:21:58 · 作者: · 浏览: 3
package com.rgy.entity;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

@SuppressWarnings("serial")
public class Calculator2 extends JFrame{
	// 声明辅助变量
	private String str = "0";// 保存显示框中的字符串
	private String show_str="";
	private double num_record = 0;// 记录当前数据的值
	private int operator = 0;// 记录当前运算符类型
	private int count_point=0;// 记录小数点个数,避免重复输入小数点
	// 声明并初始化各个组件
	private JTextField text_show = new JTextField("0");
	private JTextField text_show1 = new JTextField();
	private JPanel panel_up = new JPanel();
	private JPanel panel_CEandC = new JPanel();
	private JPanel panel_keys = new JPanel();
	private JButton button_CE = new JButton("CE");
	private JButton button_C = new JButton("C");
	private JButton button_num0 = new JButton("0");
	private JButton button_num1 = new JButton("1");
	private JButton button_num2 = new JButton("2");
	private JButton button_num3 = new JButton("3");
	private JButton button_num4 = new JButton("4");
	private JButton button_num5 = new JButton("5");
	private JButton button_num6 = new JButton("6");
	private JButton button_num7 = new JButton("7");
	private JButton button_num8 = new JButton("8");
	private JButton button_num9 = new JButton("9");
	private JButton button_division = new J
Button("/"); private JButton button_multiplication = new JButton("*"); private JButton button_cut = new JButton("-"); private JButton button_add = new JButton("+"); private JButton button_equal = new JButton("="); private JButton button_point = new JButton("."); public Calculator2(String s) { super(s); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.setBounds(500,250,270,400); this.setVisible(true); //设置显示框 text_show.setHorizontalAlignment(JTextField.RIGHT); text_show.setFont(new Font("Default", 0, 30)); text_show.setEditable(false);// 不可编辑 text_show1.setHorizontalAlignment(JTextField.RIGHT); text_show1.setFont(new Font("Default", 0, 16)); text_show1.setEditable(false); // 设置布局及边框 panel_up.setLayout(new BorderLayout()); button_CE.setBorder(BorderFactory.createRaisedBevelBorder()); button_C.setBorder(BorderFactory.createRaisedBevelBorder()); button_CE.setFont(new Font("Default", 1, 20)); button_C.setFont(new Font("Default", 1, 20)); panel_up.setBorder(BorderFactory.createEtchedBorder ()); panel_CEandC.setLayout(new GridLayout(1, 2, 7, 7)); panel_keys.setLayout(new GridLayout(4, 4, 7, 7)); // 面板的嵌套 panel_up.add(text_show1, BorderLayout.NORTH); panel_up.add(text_show, BorderLayout.CENTER); panel_up.add(panel_CEandC, BorderLayout.SOUTH); this.add(panel_up, BorderLayout.NORTH); this.add(panel_keys, BorderLayout.CENTER); //在面板上添加按钮 panel_CEandC.add(button_CE);panel_CEandC.add(button_C); 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); pa