⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caculator.java

📁 java 计算器,功能较强大,可进行大多数科学计算
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class caculator
{
	public static void main(String[] args)
	{
		calculatorFrame frame=new calculatorFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.show();
	}
}

class calculatorFrame extends JFrame
{
	public calculatorFrame()
	{
		setTitle("Calculator");
		
		Container contentPane=getContentPane();
		calculatorpanel panel=new calculatorpanel();
		contentPane.add(panel);
		pack();
	}
}

class calculatorpanel extends JPanel
{
	public calculatorpanel()
	{
		setLayout(new BorderLayout());
		
		result=0;
		lastCommand="=";
		start=true;
		
		display=new JLabel("0");
		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 CommandAction implements ActionListener
	{
		public void actionPerformed(ActionEvent evt)
		{
			String command=evt.getActionCommand();
			if(start)
			{
				if(command.equals("-"))
				{
					display.setText(command);
					start=false;
				}
				else
				   lastCommand=command;
		    }
				else
				{
					calculate(Double.parseDouble(display.getText()));
					lastCommand=command;
					start=true;
				}
		}
	}	
	
	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);
		}
	}
	

		
		
		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);
		}
		
	private JLabel display;
	private JPanel panel;
	private double result;
	private String lastCommand;
	private boolean start;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -