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

📄 mycalculator.java

📁 计算器 JAVA编写 图形界面
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//
//

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


public class myCalculator extends JFrame implements ActionListener{
	private GridBagLayout layout;
    private GridBagConstraints constraints;
    private Container container;
    

    //creat GUI components
	 private JTextField textField=new JTextField("");
	 private JTextField textField2=new JTextField("");
	 private JTextField textField3=new JTextField("中间结果:");
	 
	 private String names[]=
		{        "<==","CE","C","MS",
		 "7","8","9","/","sqrt","MR",
		 "4","5","6","*","%","MC",
		 "1","2","3","-","1/x","M+",
		 "0","+/-",".","+","=","About"};
	 private JButton buttons[] = new JButton[ names.length ];
	 double answer,mid,MM;
     short remember31 = -1, remember32 = -1;//remember31记住本次运算符,remember32记住前次运算符

	public myCalculator()
	{super("Almost  Final  Version1.0");//记录版本
     container=getContentPane();
	 layout=new GridBagLayout();
	 container.setLayout(layout);
     constraints = new GridBagConstraints();
	 for ( int count = 0; count < buttons.length; count++ )
		 buttons[ count ] = new JButton( names[ count ] );
	 
	  
	 //textField
	 constraints.weightx = 1;
     constraints.weighty = 1;
	 constraints.fill = GridBagConstraints.BOTH;
	 constraints.gridwidth = 4;
	 addComponent(textField);
	 textField.setEditable(false);
	 textField.setBackground(new Color(255,255,255));
	 textField.addActionListener(this);
     textField.setFont( new Font( "Monospaced", Font.BOLD, 19 ) );

	  //textField3
     constraints.weightx = 1;
     constraints.weighty = 1;
	 constraints.fill = GridBagConstraints.BOTH;
     constraints.gridwidth = GridBagConstraints.REMAINDER;
     addComponent(textField3);
	 textField3.setEditable(false);
	 textField3.setBackground(new Color(230,230,230));
	 textField3.addActionListener(this);
     textField3.setFont( new Font( "Monospaced", Font.BOLD, 19 ) );
	 
	 
	 //textField2
	 constraints.gridwidth = 2;
	 addComponent(textField2);
	 textField2.setEditable(false);
	 textField2.setBackground(new Color(0,151,151));
     textField2.addActionListener(this);
	 textField2.setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
	
	

	 //<--
     constraints.gridwidth = 1;
     addComponent(buttons[0]);
	 buttons[0].setBackground(new Color(228,163,27));
	 buttons[0].addActionListener(this);
	 buttons[0].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
	 
	 //CE
	 constraints.gridwidth = 1;
     addComponent(buttons[1]);
	 buttons[1].setBackground(new Color(228,163,27));
	 buttons[1].addActionListener(this);
	 buttons[1].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
	 
	 //C
	 constraints.gridwidth = GridBagConstraints.RELATIVE;
     addComponent(buttons[2]);
	 buttons[2].setBackground(new Color(255,0,0));
	 buttons[2].setForeground(new Color(255,255,255));
	 buttons[2].addActionListener(this);
     buttons[2].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //MS
	 constraints.gridwidth = GridBagConstraints.REMAINDER;
     addComponent(buttons[3]);
	 buttons[3].setBackground(new Color(50,100,200));
	 buttons[3].setForeground(new Color(255,255,255));
	 buttons[3].addActionListener(this);
	 buttons[3].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
     
	 //7
     constraints.gridwidth = 1;
     addComponent(buttons[4]);
	 buttons[4].addActionListener(this);
	 buttons[4].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
	 
    
	 //8
     constraints.gridwidth = 1;
     addComponent(buttons[5]);
	 buttons[5].addActionListener(this);
	 buttons[5].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
	
	 //9
	 constraints.gridwidth = 1;
     addComponent(buttons[6]);
	 buttons[6].addActionListener(this);
     buttons[6].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 ///
	 constraints.gridwidth = 1;
     addComponent(buttons[7]);
	 buttons[7].addActionListener(this);
     buttons[7].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //sqrt
     constraints.gridwidth = GridBagConstraints.RELATIVE;
     addComponent(buttons[8]);
	 buttons[8].addActionListener(this);
     buttons[8].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //MR
     constraints.gridwidth = GridBagConstraints.REMAINDER;
     addComponent(buttons[9]);
	 buttons[9].setBackground(new Color(50,100,200));
	 buttons[9].setForeground(new Color(255,255,255));
	 buttons[9].addActionListener(this);
	 buttons[9].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
     
	 //4
	 constraints.gridwidth = 1;
     addComponent(buttons[10]);
	 buttons[10].addActionListener(this);
	 buttons[10].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
	 
	 //5
	 constraints.gridwidth = 1;
     addComponent(buttons[11]);
	 buttons[11].addActionListener(this);
     buttons[11].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //6
	 constraints.gridwidth = 1;
     addComponent(buttons[12]);
	 buttons[12].addActionListener(this);
     buttons[12].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //*
	 constraints.gridwidth = 1;
     addComponent(buttons[13]);
	 buttons[13].addActionListener(this);
     buttons[13].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //%
	 constraints.gridwidth = GridBagConstraints.RELATIVE;
     addComponent(buttons[14]);
	 buttons[14].addActionListener(this);
     buttons[14].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //MC
	 constraints.gridwidth = GridBagConstraints.REMAINDER;
     addComponent(buttons[15]);
	 buttons[15].setBackground(new Color(50,100,200));
	 buttons[15].setForeground(new Color(255,255,255));
	 buttons[15].addActionListener(this);
	 buttons[15].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
     
	 //1
	 constraints.gridwidth = 1;
     addComponent(buttons[16]);
	 buttons[16].addActionListener(this);
     buttons[16].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //2
	 constraints.gridwidth = 1;
     addComponent(buttons[17]);
	 buttons[17].addActionListener(this);
     buttons[17].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //3
	 constraints.gridwidth = 1;
     addComponent(buttons[18]);
	 buttons[18].addActionListener(this);
     buttons[18].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //-
	 constraints.gridwidth = 1;
     addComponent(buttons[19]);
	 buttons[19].addActionListener(this);
     buttons[19].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //1/x
     constraints.gridwidth = GridBagConstraints.RELATIVE;
     addComponent(buttons[20]);
	 buttons[20].addActionListener(this);
     buttons[20].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //M+
     constraints.gridwidth = GridBagConstraints.REMAINDER;
     addComponent(buttons[21]);
	 buttons[21].setBackground(new Color(50,100,200));
	 buttons[21].setForeground(new Color(255,255,255));
	 buttons[21].addActionListener(this);
	 buttons[21].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
     
	 //0
	 constraints.gridwidth = 1;
     addComponent(buttons[22]);
	 buttons[22].addActionListener(this);
     buttons[22].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //+/-
	 constraints.gridwidth = 1;
     addComponent(buttons[23]);
	 buttons[23].addActionListener(this);
     buttons[23].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //point
	 constraints.gridwidth = 1;
     addComponent(buttons[24]);
	 buttons[24].addActionListener(this);
	 buttons[24].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //+
	 constraints.gridwidth = 1;
     addComponent(buttons[25]);
	 buttons[25].addActionListener(this);
     buttons[25].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //=
     constraints.gridwidth = GridBagConstraints.RELATIVE;
     addComponent(buttons[26]);
	 buttons[26].addActionListener(this);
     buttons[26].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );

	 //About
	 constraints.gridwidth = GridBagConstraints.REMAINDER;
     addComponent(buttons[27]);
     buttons[27].setBackground(new Color(100,100,200));
	 buttons[27].setForeground(new Color(255,255,255));
	 buttons[27].addActionListener(this);
	 buttons[27].setFont( new Font( "Monospaced", Font.BOLD, 29 ) );
     
	 setSize(700,350);
	 setVisible(true);
	}//end constructor
    
	public void actionPerformed(ActionEvent event){

   
		
	
	//按键功能
   Object click = event.getSource();
   String output="";
	//数字键和C键
   if(click==buttons[ 4 ])
		{output+="7";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 5 ])
		{output+="8";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 6 ])
		{output+="9";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 10 ])
		{output+="4";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 11 ])
		{output+="5";

⌨️ 快捷键说明

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