Java 实现简单计算器

 

package 计算器;

import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
@SuppressWarnings("serial")
public class Calculator extends JFrame implements ActionListener{
	JFrame frame;
	JButton num0;
	JButton num1;
	JButton num2;
	JButton num3;
	JButton num4;
	JButton num5;
	JButton num6;
	JButton num7;
	JButton num8;
	JButton num9;
	JButton Back;
	JButton C;
	JButton minusButton;
	JButton multiplyButton;
	JButton divideButton;
	JButton plusButton;
	JButton dotButton;
	JButton equalButton;
	JTextField text;
	JMenuItem exitItem;
	JMenuItem aboutItem;
	JMenuItem fileItem;
	boolean clicked=true;
	boolean clear=true;
	int all=0;
	double pervious;
	String fuhao;
    int first;
		
	public Calculator() {
		setTitle("计算器");
		setSize(420,230);
		setLocationRelativeTo(null);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		text =new JTextField(30);
		text.setHorizontalAlignment(JTextField.LEFT);//设置文本的水平对齐方式
		JPanel p1=new JPanel();
		JPanel p2=new JPanel();
		JPanel p3=new JPanel();
		//界面布局
		JMenuBar mainMenu=new JMenuBar();//菜单条
		setJMenuBar(mainMenu);
		JMenu editMenu=new JMenu("文件");
		JMenu helpMenu=new JMenu("帮助");
	    aboutItem=new JMenuItem("关于");
		mainMenu.add(editMenu);
		mainMenu.add(helpMenu);
		helpMenu.add(aboutItem);
		aboutItem.addActionListener(this);
		fileItem=new JMenuItem("文件");
	    exitItem=new JMenuItem("退出");
	    fileItem.addActionListener(this);
		exitItem.addActionListener(this);
		editMenu.add(exitItem);
		editMenu.add(fileItem);
			
		getContentPane().add(p1,"North");
		getContentPane().add(p2,"Center");
		getContentPane().add(p3,"South");
		p1.setLayout(new GridLayout(1,1));//网格布局
		p2.setLayout(new GridLayout(1,2));
		p3.setLayout(new GridLayout(4,4));
		plusButton=new JButton("+");
		minusButton=new JButton("-");
		multiplyButton=new JButton("*");
		divideButton=new JButton("/");
		equalButton=new JButton("=");
	    dotButton=new JButton(".");
		num0=new JButton("0");
		num1=new JButton("1");
		num2=new JButton("2");
		num3=new JButton("3");
		num4=new JButton("4");
		num5=new JButton("5");
		num6=new JButton("6");
		num7=new JButton("7");
		num8=new JButton("8");
		num9=new JButton("9");
		p1.add(text);
		text.setEditable(false);
		text.setBackground(Color.yellow);
		Back=new JButton("Back");
		C=new JButton("C");	
		p2.add(Back);
		Back.addActionListener(this);
		p2.add(C);
		C.addActionListener(this);
		p3.add(num7);
		num7.addActionListener(this);
		p3.add(num8);
		num8.addActionListener(this);
		p3.add(num9);
		num9.addActionListener(this);
		p3.add(plusButton);
		plusButton.addActionListener(this);
		p3.add(num4);
		num4.addActionListener(this);
		p3.add(num5);
		num5.addActionListener(this);
		p3.add(num6);
		num6.addActionListener(this);
		p3.add(minusButton);
		minusButton.addActionListener(this);
		p3.add(num1);
		num1.addActionListener(this);
		p3.add(num2);
		num2.addActionListener(this);
		p3.add(num3);
		num3.addActionListener(this);
		p3.add(multiplyButton);
		multiplyButton.addActionListener(this);	
	    p3.add(num0); 
	    num0.addActionListener(this); 
	    p3.add(equalButton);
	    equalButton.addActionListener(this); 
	    p3.add(dotButton);
	    dotButton.addActionListener(this); 	   
	    p3.add(divideButton);
	    divideButton.addActionListener(this);
		setVisible(true);
		addWindowListener(new WindowDestoryer());		
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		if(first == 1) {
			text.setText("");
			first=0;
		}
		Object temp=e.getSource();
		if(temp == fileItem) {
			JOptionPane.showMessageDialog(null, "欢迎使用","",JOptionPane.INFORMATION_MESSAGE);
		}
		if(temp == exitItem) {
			System.exit(0);
		}
		if(temp == aboutItem) {
			JOptionPane.showMessageDialog(null, "请查看帮助文档","帮助",JOptionPane.INFORMATION_MESSAGE);
		}
			if(temp == Back) {
				String s=text.getText();
				text.setText("");
				for(int i=0;i

 关闭窗口:

package 计算器;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class WindowDestoryer extends WindowAdapter {
	public void windowClosing(WindowEvent e) {
		// TODO Auto-generated method stub
		System.exit(0);
	}

}

结果图:

Java 实现简单计算器_第1张图片

你可能感兴趣的:(Java 实现简单计算器)