java计算器(swing)

//java计算器  持续更新中!!!目前只有Gui界面
//自己创建测试类去测试
import javax.swing.*;
import java.awt.*;

public class Cal extends JFrame
{
	JPanel panel1;//面板1,上面放20个按钮(5行4列)
	JButton[] buttons1;//面板1上的按钮数组
	
	JPanel panel2;//面板2,上面放4个按钮(4行1列)
	JButton[] buttons2;//面板2上的按钮数组
	
	JPanel panel3;//面板3,上面放2个按钮(1行2列)
	JButton[] buttons3;//面板3上的按钮数组
	
	JPanel panel4;//面板4,上面放25个按钮(5行5列)
	JButton[] buttons4;//面板4上的按钮数组
	
	JPanel panel5;//面板5,文本框
	JPanel panel6;//面板6,单选框
	JPanel panel7;//面板7,单选框0
	JPanel panel8;//面板8,单选框=
	
	
	
	private void initPanel1()//初始化面板1以及上面的控件
	{
		panel1=new JPanel();
		panel1.setSize(250, 270);
		panel1.setLocation(335, 70);
		panel1.setLayout(new GridLayout(5,4,2,2));
		panel1.setBackground(Color.white);
		String[] titles={"MC","MR","MS","M+","<-","CE","C","+-","7","8","9","/","4","5","6","*","1","2","3","-"};
		buttons1=new JButton[20];
		for(int i=0;i<titles.length;i++)
		{
			buttons1[i]=new JButton(titles[i]);
			panel1.add(buttons1[i]);
		}
		this.add(panel1);
	}
	
	private void initPanel2()//初始化面板2以及上面的控件
	{
		panel2=new JPanel();
		panel2.setSize(60, 215);
		panel2.setLocation(587, 71);
		panel2.setLayout(new GridLayout(4,1,2,2));
		panel2.setBackground(Color.white);
		String[] titles={"M-","√","%","1/x"};
		buttons2=new JButton[4];
		for(int i=0;i<titles.length;i++)
		{
			buttons2[i]=new JButton(titles[i]);
			panel2.add(buttons2[i]);
		}
		this.add(panel2);
	}
	
	private void initPanel3()//初始化面板3以及上面的控件
	{
		panel3=new JPanel();
		panel3.setSize(125, 53);
		panel3.setLocation(461,341);
		panel3.setLayout(new GridLayout(1,2,2,2));
		panel3.setBackground(Color.white);
		String[] titles={".","+"};
		buttons3=new JButton[2];
		for(int i=0;i<titles.length;i++)
		{
			buttons3[i]=new JButton(titles[i]);
			panel3.add(buttons3[i]);
		}
		this.add(panel3);
	}
	
	private void initPanel4()//初始化面板4以及上面的控件
	{
		panel4=new JPanel();
		panel4.setSize(312, 270);
		panel4.setLocation(20, 124);
		panel4.setLayout(new GridLayout(5,5,2,2));
		panel4.setBackground(Color.white);
		String[] titles={"","Inv","In","(",")","Int","sinh","sin","x^2","n!","dms","cosh","cos","x^y","y/x","π","tanh","tan","x^3","3/x","F-E","Exp","Mod","log","10^x"};
		buttons4=new JButton[25];
		for(int i=0;i<titles.length;i++)
		{
			buttons4[i]=new JButton(titles[i]);
			panel4.add(buttons4[i]);
		}
		this.add(panel4);
	}
	private void initPanel5()//初始化面板5(文本框)
	{
		panel5=new JPanel();
		panel5.setSize(625, 50);
		panel5.setLocation(20,15);
		panel5.setLayout(new GridLayout(1,1,2,2));
//		panel5.setBackground(Color.BLUE);
		JTextField tf = new JTextField();
		tf.setSize(100, 100);
		
		panel5.add(tf);
		
		this.add(panel5);
	}
	private void initPanel6() //初始化面板6 单选框
	{
		panel6=new JPanel();
		panel6.setBorder(BorderFactory.createLoweredBevelBorder());
		panel6.setSize(312, 50);
		panel6.setLocation(20,70);
		panel6.setLayout(new GridLayout(1,3));
		JRadioButton jrb1=new JRadioButton("度");
		JRadioButton jrb2=new JRadioButton("弧度");
		JRadioButton jrb3=new JRadioButton("梯度");
		ButtonGroup bg=new ButtonGroup();
		bg.add(jrb1);
		bg.add(jrb2);
		bg.add(jrb3);
		panel6.add(jrb1);
		panel6.add(jrb2);
		panel6.add(jrb3);
		this.add(panel6);
	}
	private void initPanel7() //初始化面板7 单选框
	{
		panel7=new JPanel();	
		panel7.setLayout(new GridLayout(1,1,2,2));
		panel7.setSize(124,52);
		panel7.setLocation(335,341);
		JButton jb	= new JButton("0");
		panel7.add(jb);
		this.add(panel7);
	}
	private void initPanel8() //初始化面板8 单选框
	{
		panel8=new JPanel();
		panel8.setLayout(new GridLayout(1,1,2,2));
		panel8.setSize(60, 107);
		panel8.setLocation(587,287);
		JButton jb8	= new JButton("=");
		panel8.add(jb8);
		this.add(panel8);
	}
	
	public Cal()
	{
		setSize(680,440);
		setTitle("计算器");
		setLayout(null);
		initPanel1();
		initPanel2();
		initPanel3();
		initPanel4();
		initPanel5();
		initPanel6();
		initPanel7();
		initPanel8();
		setVisible(true);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值