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

📄 calculatorpanel.java

📁 使用eclipse编写的计算器程序
💻 JAVA
字号:
package mine;



import java.awt.*;
import javax.swing.*;

public class CalculatorPanel extends JPanel//创建计算器Panel
{
	JPanel textPanel=new JPanel();					//用于放置显示结果的TextField的面板
	JPanel buttonAPanel=new JPanel();				//用于放置BackSpace、CE、C按钮的面板
	JPanel buttonPanel=new JPanel();				//用于放置其余按钮面板的面板
	JPanel buttonBPanel=new JPanel();				//用于放置MC、MR等的面板
	JPanel buttonCPanel=new JPanel();				//用于放置数字的面板
	JPanel buttonDPanel=new JPanel();				//用于放置+、-、*、\的面板
	JTextField resultField=new JTextField(30);		//显示结果的文本框
	JTextField save=new JTextField(2);				//显示是否有存储的文本框
	double num;										//计算时第二次得到的数字
	double mem;										//存储的保留数字
	double result,temp;								//第一次得到的数字(亦结果)和临时保存的数字
	int integer;									//当前数的整数形式						
	String op="",s="";								//操作命令和操作数字的字符串形式
	boolean flag=true,containdot=false,enterednum=false;	//flag代表在连续操作时是否应该更新原有的text内容,以及判断当前数是否是小数
	public CalculatorPanel()
	{
		setLayout(new BorderLayout());						//设置计算器大面板CalculatorPanel的布局管理器为边框式
		add(textPanel,BorderLayout.NORTH);					//把三块功能面板分别添加到CalculatorPanel的相应位置
		add(buttonAPanel,BorderLayout.CENTER);
		add(buttonPanel,BorderLayout.SOUTH);
		buttonPanel.add(buttonBPanel,BorderLayout.WEST);
		buttonBPanel.setLayout(new GridLayout(4,1,2,2));	//设置功能面板buttonBPanel的布局管理器为网格式
		buttonPanel.add(buttonCPanel,BorderLayout.CENTER);
		buttonCPanel.setLayout(new GridLayout(4,3,2,2));	//设置功能面板buttonCPanel的布局管理器为网格式
		buttonPanel.add(buttonDPanel,BorderLayout.EAST);
		buttonDPanel.setLayout(new GridLayout(4,2,2,2));	//设置功能面板buttonDPanel的布局管理器为网格式
		
		
		resultField.setFocusable(false);
		resultField.setHorizontalAlignment(JTextField.RIGHT);	//设置文本右对齐
		resultField.setText("0.");								//默认显示为"0."
		textPanel.add(resultField);		
		save.setEditable(false);
		save.setBorder(BorderFactory.createLoweredBevelBorder());//创建一个具有凹入斜面边缘的边框,将组件当前背景色的较亮的色度用于突出显示,较暗的色度用于阴影
		buttonAPanel.add(save,BorderLayout.WEST);		
		JButton[] a=new JButton[3];
		a[0]=new JButton("BackSpace");
		a[1]=new JButton("CE");
		a[2]=new JButton("C");
		for(int n=0;n<3;n++)									//用数组实现添加各功能面板的按钮,可以在新建、设置颜色、添加监听器的环节中节省大量源代码
		{
			buttonAPanel.add(a[n]);
			a[n].setForeground(Color.RED);
			a[n].addActionListener(new commandProcessor(this));
		}
		
		JButton[] b=new JButton[4];
		b[0]=new JButton("MC");
		b[1]=new JButton("MR");
		b[2]=new JButton("MS");
		b[3]=new JButton("M+");
		for(int n=0;n<4;n++)									//用数组实现添加各功能面板的按钮,可以在新建、设置颜色、添加监听器的环节中节省大量源代码
		{
			buttonBPanel.add(b[n]);
			b[n].setForeground(Color.RED);
			b[n].addActionListener(new commandProcessor(this));
		}
		
		JButton[] c=new JButton[12];
		c[0]=new JButton("7");
		c[1]=new JButton("8");
		c[2]=new JButton("9");
		c[3]=new JButton("4");
		c[4]=new JButton("5");
		c[5]=new JButton("6");
		c[6]=new JButton("1");
		c[7]=new JButton("2");
		c[8]=new JButton("3");
		c[9]=new JButton("0");
		c[10]=new JButton("+/-");
		c[11]=new JButton(".");
		for(int n=0;n<12;n++)									//用数组实现添加各功能面板的按钮,可以在新建、设置颜色、添加监听器的环节中节省大量源代码
		{
			buttonCPanel.add(c[n]);
			c[n].setForeground(Color.BLUE);
			c[n].addActionListener(new commandProcessor(this));
		}
			
		JButton[] d=new JButton[8];
		d[0]=new JButton("/");
		d[1]=new JButton("sqrt");
		d[2]=new JButton("*");
		d[3]=new JButton("%");
		d[4]=new JButton("-");
		d[5]=new JButton("1/x");
		d[6]=new JButton("+");
		d[7]=new JButton("=");
		for(int n=0;n<8;n++)									//用数组实现添加各功能面板的按钮,可以在新建、设置颜色、添加监听器的环节中节省大量源代码
		{
			buttonDPanel.add(d[n]);
			d[n].setForeground(Color.BLUE);
			d[n].setSize(20, 20);
			d[n].addActionListener(new commandProcessor(this));
		}
	
	}
		
}

⌨️ 快捷键说明

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