📄 calculatorapplet.java
字号:
/** Calculator for Java
*
* @author:pahran
* @version:2.5
*
*/
package calculatorApplet;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class CalculatorApplet extends JApplet
{
private JButton buttonC,button1,button2,button3,button4,button5,button6,button7,button8,button9,button0,buttonPoint,buttonEqu,buttonAdd,buttonSub,buttonMul,buttonDiv;
private JTextField showPanel;
private boolean pointFlag=false,operatorFlag=false,operatorTyped=false;
private double tempFloat1=0,tempFloat2=0;
private char operators=0;
public void init()
{
Container container = getContentPane();
container.setLayout(new BorderLayout());
JPanel basePanel,stuffPanel1,stuffPanel2,stuffPanel3;
basePanel = new JPanel();
stuffPanel1=new JPanel();
stuffPanel2=new JPanel();
stuffPanel3=new JPanel();
showPanel = new JTextField("0");
showPanel.setFont(new Font("SansSerif",Font.PLAIN,17));
showPanel.setColumns(280);
showPanel.setEditable(false);
showPanel.setBackground(Color.white);
showPanel.setHorizontalAlignment(JTextField.RIGHT);
buttonC=new JButton("C");
button1=new JButton("1");
button2=new JButton("2");
button3=new JButton("3");
button4=new JButton("4");
button5=new JButton("5");
button6=new JButton("6");
button7=new JButton("7");
button8=new JButton("8");
button9=new JButton("9");
button0=new JButton("0");
buttonPoint=new JButton(".");
buttonEqu=new JButton("=");
buttonAdd=new JButton("+");
buttonSub=new JButton("-");
buttonMul=new JButton("*");
buttonDiv=new JButton("/");
button1.setForeground(Color.blue);
button2.setForeground(Color.blue);
button3.setForeground(Color.blue);
button4.setForeground(Color.blue);
button5.setForeground(Color.blue);
button6.setForeground(Color.blue);
button7.setForeground(Color.blue);
button8.setForeground(Color.blue);
button9.setForeground(Color.blue);
button0.setForeground(Color.blue);
buttonPoint.setForeground(Color.blue);
buttonC.setForeground(Color.red);
buttonEqu.setForeground(Color.red);
buttonAdd.setForeground(Color.red);
buttonSub.setForeground(Color.red);
buttonMul.setForeground(Color.red);
buttonDiv.setForeground(Color.red);
ButtonHandle handle=new ButtonHandle();
buttonC.addActionListener(handle);
button1.addActionListener(handle);
button2.addActionListener(handle);
button3.addActionListener(handle);
button4.addActionListener(handle);
button5.addActionListener(handle);
button6.addActionListener(handle);
button7.addActionListener(handle);
button8.addActionListener(handle);
button9.addActionListener(handle);
button0.addActionListener(handle);
buttonPoint.addActionListener(handle);
buttonEqu.addActionListener(handle);
buttonAdd.addActionListener(handle);
buttonSub.addActionListener(handle);
buttonMul.addActionListener(handle);
buttonDiv.addActionListener(handle);
basePanel.setLayout(new GridLayout(5,4,7,7));
basePanel.add(stuffPanel1);
basePanel.add(stuffPanel2);
basePanel.add(stuffPanel3);
basePanel.add(buttonC);
basePanel.add(button7);
basePanel.add(button8);
basePanel.add(button9);
basePanel.add(buttonDiv);
basePanel.add(button4);
basePanel.add(button5);
basePanel.add(button6);
basePanel.add(buttonMul);
basePanel.add(button1);
basePanel.add(button2);
basePanel.add(button3);
basePanel.add(buttonSub);
basePanel.add(button0);
basePanel.add(buttonPoint);
basePanel.add(buttonEqu);
basePanel.add(buttonAdd);
container.add(basePanel,BorderLayout.CENTER);
container.add(showPanel,BorderLayout.NORTH);
}
private class ButtonHandle implements ActionListener{
public void actionPerformed(ActionEvent event)
{
JButton sourceButton=(JButton)event.getSource();
if(sourceButton==buttonC)
{
pointFlag=false;operatorFlag=false;operatorTyped=false;
tempFloat1=0;tempFloat2=0;
operators=0;
showPanel.setText("0");
}
else if(sourceButton==button1)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"1");
}
else if(sourceButton==button2)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"2");
}
else if(sourceButton==button3)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"3");
}
else if(sourceButton==button4)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"4");
}
else if(sourceButton==button5)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"5");
}
else if(sourceButton==button6)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"6");
}
else if(sourceButton==button7)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"7");
}
else if(sourceButton==button8)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"8");
}
else if(sourceButton==button9)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"9");
}
else if(sourceButton==button0)
{
if(operatorFlag)
{
showPanel.setText("");
operatorFlag=false;
}
if(showPanel.getText().equals("0"))
showPanel.setText("");
showPanel.setText(showPanel.getText()+"0");
}
else if(sourceButton==buttonPoint)
{
if(!pointFlag)
{
if(!operatorFlag)
showPanel.setText(showPanel.getText()+".");
else
{
showPanel.setText("0.");
operatorFlag=false;
}
pointFlag=true;
}
}
else if(sourceButton==buttonEqu)
{
if(operatorTyped)
{
pointFlag=false;operatorTyped=false;
tempFloat2=Double.parseDouble(showPanel.getText());
switch(operators){
case '+':
tempFloat1=tempFloat1+tempFloat2;break;
case '-':
tempFloat1=tempFloat1-tempFloat2;break;
case '*':
tempFloat1=tempFloat1*tempFloat2;break;
case '/':
tempFloat1=tempFloat1/tempFloat2;
}
if(tempFloat1==(int)tempFloat1)
showPanel.setText(Integer.toString((int)tempFloat1));
else
showPanel.setText(Double.toString(tempFloat1));
tempFloat2=0;
}
operatorFlag=true;
}
else //operator button
{
if(operatorTyped&&!operatorFlag)
{
tempFloat2=Double.parseDouble(showPanel.getText());
switch(operators){
case '+':
tempFloat1=tempFloat1+tempFloat2;break;
case '-':
tempFloat1=tempFloat1-tempFloat2;break;
case '*':
tempFloat1=tempFloat1*tempFloat2;break;
case '/':
tempFloat1=tempFloat1/tempFloat2;
}
if(tempFloat1==(int)tempFloat1)
showPanel.setText(Integer.toString((int)tempFloat1));
else
showPanel.setText(Double.toString(tempFloat1));
}
else
{
tempFloat1=Double.parseDouble(showPanel.getText());
operatorTyped=true;
}
operators=event.getActionCommand().charAt(0);
pointFlag=false;
operatorFlag=true;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -