简单计算器的java实现
2010-04-08 19:47
429 查看
import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * * @author superzhao */ public class Calculate { public static void main(String[]args) { EventQueue.invokeLater(new Runnable() { public void run() { CalculatorFrame frame = new CalculatorFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200,200); frame.setResizable(false); frame.setVisible(true); } }); } } class CalculatorFrame extends JFrame { public CalculatorFrame() { setTitle("简单计算器"); CalculatorPanel panel = new CalculatorPanel(); add(panel); pack(); } } class CalculatorPanel extends JPanel { private JButton display; private JPanel panel; private double result; private String lastCommand; private boolean start; public CalculatorPanel() { setLayout(new BorderLayout()); result = 0; lastCommand = "="; start = true; display = new JButton("0"); display.setEnabled(false); add(display,BorderLayout.NORTH); ActionListener insert = new InsertAction(); ActionListener command = new CommandAction(); panel = new JPanel(); panel.setLayout(new GridLayout(4,4)); addButton("7",insert); addButton("8",insert); addButton("9",insert); addButton("/",command); addButton("4",insert); addButton("5",insert); addButton("6",insert); addButton("*",command); addButton("1",insert); addButton("2",insert); addButton("3",insert); addButton("-",command); addButton("0",insert); addButton(".",insert); addButton("=",command); addButton("+",command); add(panel,BorderLayout.CENTER); } private void addButton(String label,ActionListener listener) { JButton button = new JButton(label); button.addActionListener(listener); panel.add(button); } private class InsertAction implements ActionListener { public void actionPerformed(ActionEvent event) { String input = event.getActionCommand(); if(start) { display.setText(""); start = false; } display.setText(display.getText()+input); } } private class CommandAction implements ActionListener { public void actionPerformed(ActionEvent event) { String command = event.getActionCommand(); if(start) { if(command.equals("-")) { display.setText(command); start = false; } else lastCommand = command; } else { calculate(Double.parseDouble(display.getText())); lastCommand = command; start = true; } } } public void calculate(double x) { if(lastCommand.equals("+")) result += x; else if(lastCommand.equals("-")) result -= x; else if(lastCommand.equals("*")) result *= x; else if(lastCommand.equals("/")) result /= x; else if(lastCommand.equals("=")) result = x; display.setText(""+result); } }
初学java,对于GUI编程还不是很熟悉。。。。所以做个小题目练习练习。。。
下面是运行的界面:
很简单的一个小程序。。。。。
相关文章推荐
- Java swing实现简单计算器的开发
- Java实现的简单计算器
- JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例
- java实现简单计算器
- JAVA实现简单计算器
- java简单计算器实现,只有四则运算
- 简单计算器 java实现hdu1237
- 使用java开发简单计算器界面,并实现加、减、乘、除运算
- Java实现简单计算器功能【简单工厂模式】
- java实现简单计算器功能
- Java实现一个简单计算器
- 用java实现的简单计算器
- Java源码-简单计算器界面的AWT实现与Swing实现之比较
- java实现简单计算器
- java GUI 简单计算器实现
- Java实现简单计算器的加减乘除功能
- 基于Java实现的一个简单计算器
- java swing实现简单计算器
- Java实现简单计算器
- 【Java】简单计算器实现