计算器功能简单实现
2009-03-28 23:37
369 查看
package Day18; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class CalculatorB implements ActionListener { private JFrame frame; private JTextField field; private JButton clear; private JButton[] allButtons; private double number1 = 0.0, number2 = 0.0; private char operator='0'; public CalculatorB() { frame = new JFrame("Calculator"); frame.setLayout(new BorderLayout());// 布局管理器设置 field = new JTextField(30); field.setText("0"); clear = new JButton("C"); allButtons = new JButton[16]; init(); addEventHandler(); } private void init() { JPanel panel = new JPanel(); panel.setLayout(new FlowLayout()); panel.add(field); panel.add(clear); frame.add(panel, "North"); JPanel panel1 = new JPanel(); panel1.setLayout(new GridLayout(4, 4)); String str = "123+456-789*0.=/"; for (int i = 0; i < allButtons.length; i++) {// ///////////////////////添加按钮 allButtons[i] = new JButton(str.charAt(i) + ""); panel1.add(allButtons[i]); } frame.add(panel1); } private void addEventHandler() { for (int i = 0; i < allButtons.length; i++) { allButtons[i].addActionListener(this); } clear.addActionListener(this); } public void actionPerformed(ActionEvent e) { String str = e.getActionCommand().trim();// 取按键的文本命令 if ("012345689.".indexOf(str) != -1) { // /// if (field.getText().trim().equals("0")) { field.setText(""); } if (field.getText().contains(".") && str.equals(".")) { return; } field.setText(field.getText() + str); return; } if ("+-*/".indexOf(str) != -1) { // /// if (str.indexOf(operator) != -1) { field.setText("0"); return; } number1 = Double.parseDouble(field.getText()); field.setText("0"); operator = str.charAt(0); return; } if (str.equals("=")) { // // number2 = Double.parseDouble(field.getText()); double result = 0.0; switch (operator) { case '+': result = number1 + number2; break; case '-': result = number1 - number2; break; case '*': result = number1 * number2; break; case '/': result = number1 / number2; break; default: break; } long temp=new Double(result).longValue(); if(temp==result){ field.setText(temp + ""); }else { field.setText(result + ""); } operator='0'; return; } if (str.equals("C")) { // // number1 = 0; number2 = 0; operator = '0'; field.setText("0"); return; } } public void showMe() { frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new CalculatorB().showMe(); } }
相关文章推荐
- C#实现简单的计算器功能完整实例
- 仿实例开发---简单四则计算器功能实现
- php编程实现简单的网页版计算器功能示例
- C语言用函数指针的数组简单实现计算器功能
- 简单工厂实现计算器功能
- Java Swing实现简单的体重指数(BMI)计算器功能示例
- 用switch 语句实现简单的计算器功能(要求从键盘输入操作数和运算符)。 例如:输入: 3 * 4 输出:12
- 一个能够实现简单功能的计算器
- JS实现的简单四则运算计算器功能示例
- js实现简单的计算器功能
- MFC实现简单功能计算器
- shell实现一个简单的计算器功能小脚本
- python实现最简单的计算器功能源码
- 一个简单的jQuery计算器实现了连续计算功能
- 简单实现JS计算器功能
- Android实现简单的计算器功能
- 用C++实现中缀表达式求值即简单科学计算器的功能
- javascrip 实现简单的计算器功能
- 简单快速的实现js计算器功能
- 一个简单的jQuery计算器实现了连续计算功能