用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

java小计算器

2012-10-03 作者: 神马举报

[java]代码库

import java.awt.*;
import java.awt.event.*;

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

public class Calculator implements ActionListener {

	String s = "", s1;
	double d1, d2;
	JFrame jf = new JFrame("java计算器");

	JTextField tf = new JTextField();

	public void init()// 实现计算器界面
	{
		Container c = jf.getContentPane();
		tf.setHorizontalAlignment(JTextField.RIGHT);// 文本框
		c.add(tf, BorderLayout.NORTH);

		JPanel pn3 = new JPanel(new BorderLayout());
		c.add(pn3, BorderLayout.CENTER);

		JPanel pn2 = new JPanel();// 功能键界面(清除键和关闭键)
		pn2.setLayout(new BorderLayout());

		JPanel pn1 = new JPanel();// 运算界面

		pn1.setLayout(new GridLayout(4, 4));

		pn3.add(pn2, BorderLayout.NORTH);
		pn3.add(pn1);

		// 设置按钮
		JButton b = new JButton("CLEAR");
		b.setToolTipText("请按清除键! "); // 设置清零键
		b.setForeground(Color.BLACK);// 设置字体颜色
		b.setBackground(Color.LIGHT_GRAY);// 设置背景色
		b.addActionListener(this);
		pn2.add(b, BorderLayout.CENTER);
		b = new JButton("OFF");
		b.setToolTipText("请按退出键! ");// 设置off键,点击退出应用程序
									// b.addActionListener(this);
		b.setForeground(Color.BLACK);// 字体颜色
		b.setBackground(Color.LIGHT_GRAY);// 背景色
		pn2.add(b, BorderLayout.EAST);
		b = new JButton("1");// add butten 1
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("2");// add butten 2
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("3");// add butten 3
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("+");// add butten +
		b.setForeground(Color.BLUE);// 设置字体颜色
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("4");// add butten 4
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("5");// add butten 5
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("6");// add button 6
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("-");// add button -
		b.setForeground(Color.BLUE);// 设置字体颜色
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("7");// add button 7
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("8");// add button 8
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("9");// add button 9
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("*");// add button *
		b.setForeground(Color.BLUE);// 设置字体颜色
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("0");// add button 0
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton(".");// add button .
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("=");// add button =
		b.setForeground(Color.RED);// 设置字体颜色
		b.addActionListener(this);
		pn1.add(b);
		b = new JButton("\\ ");// add button \
		b.setForeground(Color.BLUE);// 设置字体颜色
		b.addActionListener(this);
		pn1.add(b);

		jf.setSize(300, 300);// 设置大小
		jf.setVisible(true);// 设置为可视
	} // 处理按钮按下时的动作,进行相应的处理

	public void actionPerformed(ActionEvent e) {
		String command = e.getActionCommand();
		tf.setText(tf.getText() + command);
		if (command.equals("CLEAR")) // 清零键 按下时返回初始状态
		{
			s1 = null;
			s = "";
			tf.setText("");// 记录输入值的变量清空
		}

		else if (command.equals("OFF"))
			System.exit(0);// off键 关闭应用程序

		else if (!command.equals("*") && !command.equals("\\")
				&& !command.equals("+") && !command.equals("-")
				&& !command.equals("="))// 判断输入是否为数字
		{
			if (s1 == null)// 判断输入是否为第一个
				s1 = command;
			else
				s1 += command;
			d1 = new Double(s1).doubleValue();// 字符串型转换为双精度型,还原输入数字
			try {
				if (s.equals("+"))
					d1 = d1 + d2;// 加法运算
				else if (s.equals("-"))
					d1 = d2 - d1;// 减法运算
				else if (s.equals("*"))
					d1 = d1 * d2;// 乘法运算
				else if (s.equals("\\"))
					d1 = d2 / d1;// 除法运算
			} catch (Exception ex) {
				tf.setText("Error");// 错误显示 "Error "
				System.out.println(ex.getMessage());
			}

		}

		else if (!command.equals("=")) // 判断输入是否为+ - * \
		{
			s = command;
			s1 = null;
			d2 = d1;
		}

		else// 输入=时,显示运算结果
		{

			tf.setText(tf.getText() + d1);

		}

	}

	public static void main(String[] args) {

		new Calculator().init();

	}
}

[代码运行效果截图]


java小计算器


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...