📄 calculator.java
字号:
char a = s.charAt(i);
textField1.setText(textField1.getText()+a);
}
}
}
}
//ce=jb[26],c=jb[27];两个清除键的处理
if(e.getSource()==jb[26])
{
textField1.setText("0.");
jl4.setText("");
bag=0;
}
if(e.getSource()==jb[27])
{
textField1.setText("0.");
jl4.setText("");
bag=0;
}
//sta按键---------------------------
if(e.getSource()==jb[0])
{
jb[1].setEnabled(true);
jb[2].setEnabled(true);
jb[3].setEnabled(true);
jb[4].setEnabled(true);
dialog.setVisible(true);
if(dialog.getMessage()==MyDialog.CLOSE)
{
jb[1].setEnabled(false);
jb[2].setEnabled(false);
jb[3].setEnabled(false);
jb[4].setEnabled(false);
// dialog.getMessage()==MyDialog.CLOSE
}
}
if(e.getSource()==jb[1])//Ave
{}
if(e.getSource()==jb[2])//Sum
{}
if(e.getSource()==jb[3])//s
{}
if(e.getSource()==jb[4])//Dat
{}
if(e.getSource()==jb[5])//F-E
{
int i;
for ( i = 0; i < textField1.getText().length(); i++)
if ('E' == textField1.getText().charAt(i))
{
break;
}
if(textField1.getText().length()==i)
{
DecimalFormat format = new DecimalFormat("0.################################E0");
textField1.setText(format.format(Double.parseDouble(textField1.getText())));
}
else
textField1.setText(""+Double.parseDouble(textField1.getText())+"");
}
if(e.getSource()==jb[6]&&(("!0123456789").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1))//"("
{ if(bag<99)
{
bag++;
jl4.setText("(="+bag+"");
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+"(");
}
}
if(e.getSource()==jb[7])//")"
{
if(bag>1)
{
bag--;
jl4.setText("(="+bag+"");
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+")");
}
else if(bag==1)
{
bag--;
jl4.setText("");
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+")");
}
}
//--------------------------------------------------------------对科学计算器左侧的函数功能按钮的录入---------------------------------------------------------
if(e.getSource()==jb[8])//dms
{}
if(e.getSource()==jb[9]&&(("+-*/=^.(").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)&&!textField1.getText().equals("0."))//Exp
{
textField1.setText(textField1.getText()+"^10^");
}
if(e.getSource()==jb[10])//ln e=2.718...
{
if(textField1.getText().equals("0."))//如果文本框中最初为”0.“这直接清零后再向其输入ln
{
textField1.setText("");
textField1.setText(textField1.getText()+"ln");
}
else if(!textField1.getText().equals("0.")&&("0123456789).!").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)//如果文本框中的内容不是“0.”且保证ln符合不能直接跟在数字后面,及要让它跟在运算符后面
textField1.setText(textField1.getText()+"ln");
}
if(e.getSource()==jb[11])//sin
{
if(textField1.getText().equals("0."))//如果文本框中最初为”0.“这直接清零后再向其输入sin
{
textField1.setText("");
textField1.setText(textField1.getText()+"sin");
}
else if(!textField1.getText().equals("0.")&&("0123456789).!").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)//如果文本框中的内容不是“0.”且保证sin符合不能直接跟在数字后面,及要让它跟在运算符后面
textField1.setText(textField1.getText()+"sin");
}
if(e.getSource()==jb[12]&&(("+-*/=^.(").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)&&!textField1.getText().equals("0."))//x^y
{
textField1.setText(textField1.getText()+"^");
}
if(e.getSource()==jb[13])//log
{
if(textField1.getText().equals("0."))//如果文本框中最初为”0.“这直接清零后再向其输入log
{
textField1.setText("");
textField1.setText(textField1.getText()+"log");
}
else if(!textField1.getText().equals("0.")&&("0123456789).!").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)//如果文本框中的内容不是“0.”且保证log符合不能直接跟在数字后面,及要让它跟在运算符后面
textField1.setText(textField1.getText()+"log");
}
if(e.getSource()==jb[14])//cos
{
if(textField1.getText().equals("0."))//如果文本框中最初为”0.“这直接清零后再向其输入cos
{
textField1.setText("");
textField1.setText(textField1.getText()+"cos");
}
else if(!textField1.getText().equals("0.")&&("0123456789).!").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)//如果文本框中的内容不是“0.”且保证cos符合不能直接跟在数字后面,及要让它跟在运算符后面
textField1.setText(textField1.getText()+"cos");
}
if(e.getSource()==jb[15]&&(("+-*/=^.(").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)&&!textField1.getText().equals("0."))//x^3
{
textField1.setText(textField1.getText()+"^3");
}
if(e.getSource()==jb[16]&&(("+-*/=^.(").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)&&!textField1.getText().equals("0."))//n!
{
textField1.setText(textField1.getText()+"!");
}
if(e.getSource()==jb[17])//tan
{
if(textField1.getText().equals("0."))//如果文本框中最初为”0.“这直接清零后再向其输入tan
{
textField1.setText("");
textField1.setText(textField1.getText()+"tan");
}
else if(!textField1.getText().equals("0.")&&("0123456789).!").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)//如果文本框中的内容不是“0.”且保证log符合不能直接跟在数字后面,及要让它跟在运算符后面
textField1.setText(textField1.getText()+"tan");
}
if(e.getSource()==jb[18]&&(("+-*/=^.(").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)&&!textField1.getText().equals("0."))//x^2
{
textField1.setText(textField1.getText()+"^2");
}
if(e.getSource()==jb[19]&&(("+-*/=^.(").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)&&!textField1.getText().equals("0."))//1/x
{
textField1.setText("("+textField1.getText()+")/");
}
if(e.getSource()==jb[20])//MC
{
MS="0.";
jl5.setText("");
}
if(e.getSource()==jb[21])//MR
{
if(!MS.equals("0."))
textField1.setText(MS);
}
if(e.getSource()==jb[22])//MS
{
if(!textField1.getText().equals("0."))
{
jl5.setText("M");
MS=textField1.getText();
}
}
if(e.getSource()==jb[23])//M+
{
if(!MS.equals("0."))
{
MS=MS+"+"+textField1.getText();
textField1.setText(MS);
}
}
if(e.getSource()==jb[24]&&(("0123456789).!").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1)&&!textField1.getText().equals("0."))//pi=3.1415926535897932384626433832795
{
textField1.setText(textField1.getText()+"PI");
}
/**************************************************以上****jb[1]-jb[24]***是左边的****以下是右边部分***jb[25]--jb[57]*******************************************************/
//对数字的录入
if(e.getSource()==jb[28])//"7"
{
if(textField1.getText().equals("0.")&&dot==true) //每一个按钮写两个判断语句就是为了在输入框初始录入的时候能够录入小数;
{
textField1.setText(textField1.getText()+"7");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"7");
}
else textField1.setText(textField1.getText()+"7");
}
if(e.getSource()==jb[29])//"8"
{ //||Integer.parseInt(textField1.getText().substring(0,1))==0)
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"8");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"8");
}
else textField1.setText(textField1.getText()+"8");
}
if(e.getSource()==jb[30])//"9"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"9");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"9");
}
else textField1.setText(textField1.getText()+"9");
}
if(e.getSource()==jb[34])//"4"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"4");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"4");
}
else textField1.setText(textField1.getText()+"4");
}
if(e.getSource()==jb[35])//"5"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"5");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"5");
}
else textField1.setText(textField1.getText()+"5");
}
if(e.getSource()==jb[36])//"6"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"6");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"6");
}
else textField1.setText(textField1.getText()+"6");
}
if(e.getSource()==jb[40])//"1"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"1");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"1");
}
else textField1.setText(textField1.getText()+"1");
}
if(e.getSource()==jb[41])//"2"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"2");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"2");
}
else textField1.setText(textField1.getText()+"2");
}
if(e.getSource()==jb[42])//"3"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"3");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"3");
}
else textField1.setText(textField1.getText()+"3");
}
if(e.getSource()==jb[46])//"0"
{
if(textField1.getText().equals("0.")&&dot==true)
{
textField1.setText(textField1.getText()+"0");
dot=false;
}
else if(textField1.getText().equals("0.")&&dot==false)
{
textField1.setText("");
textField1.setText(textField1.getText()+"0");
}
else textField1.setText(textField1.getText()+"0");
}
if(e.getSource()==jb[52])
{
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+"A");
}
if(e.getSource()==jb[53])
{
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+"B");
}
if(e.getSource()==jb[54])
{
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+"C");
}
if(e.getSource()==jb[55])
{
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+"D");
}
if(e.getSource()==jb[56])
{
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+"E");
}
if(e.getSource()==jb[57])
{
if(textField1.getText().equals("0."))
textField1.setText("");
textField1.setText(textField1.getText()+"F");
}
/*********对小数点的处理*******************/
if(e.getSource()==jb[48]&&("+-*/=^.()").indexOf(textField1.getText().charAt(textField1.getText().length()-1))==-1&&clickable) //
{
textField1.setText(textField1.getText()+".");
if (textField1.getText().equals("0."))
dot=true;
else
dot=false;
}
if(e.getSource()==jb[47]&&(("(").indexOf(textField1.getText().charAt(textField1.getText().length()-1))!=-1))
{
if(textField1.getText().equals("0."))
textField1.setText("-");
else
textField1.setText(textField1.getText()+"-");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -