📄 buttonpanel.java
字号:
}
memory=memory+"log";
innerExpression[count]="log";
count++;
if (count>=innerExpression.length){
String[] temp = new String[count*2];
for (int i=0;i<innerExpression.length;i++)
temp[i]=innerExpression[i];
innerExpression=temp;
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtMuti){
//为前面打进的数字组成的字符串进行存储,并将INTER变量清零
//以便下一个数字字符串的存储
if (inter!=""){
if (jrbBinary.isSelected())
inter = new DataStringDeal().BinaryToDecimalString(inter);
if (jrbOctal.isSelected())
inter = new DataStringDeal().OctalToDecimalString(inter);
if (jrbHex.isSelected())
inter = new DataStringDeal().HexToDecimalString(inter);
innerExpression[count]=inter;
count++;
if (count>=innerExpression.length){
String[] temp = new String[count*2];
for (int i=0;i<innerExpression.length;i++)
temp[i]=innerExpression[i];
innerExpression=temp;
}
inter="";
}
memory=memory+"*";
innerExpression[count]="*";
count++;
if (count>=innerExpression.length){
String[] temp = new String[count*2];
for (int i=0;i<innerExpression.length;i++)
temp[i]=innerExpression[i];
innerExpression=temp;
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtBack){
//为前面打进的数字组成的字符串进行存储,并将INTER变量清零
//以便下一个数字字符串的存储
if (inter!=""){
if (jrbBinary.isSelected())
inter = new DataStringDeal().BinaryToDecimalString(inter);
if (jrbOctal.isSelected())
inter = new DataStringDeal().OctalToDecimalString(inter);
if (jrbHex.isSelected())
inter = new DataStringDeal().HexToDecimalString(inter);
innerExpression[count]=inter;
count++;
if (count>=innerExpression.length){
String[] temp = new String[count*2];
for (int i=0;i<innerExpression.length;i++)
temp[i]=innerExpression[i];
innerExpression=temp;
}
inter="";
}
memory = "";
for (int i=0;i<count-1;i++)
memory = memory+innerExpression[i];
if (count>0)
count--;
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtStart){
count=0;
memory="";
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtPoint){
memory=memory+".";
if (count==0)
inter=inter+".";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+".";
}
jtaExpPanel.setText(memory);
}
//"="的处理
if (e.getSource()==jbtEquals){
//为前面打进的数字组成的字符串进行存储,并将INTER变量清零
//以便下一个数字字符串的存储
if (inter!=""){
if (jrbBinary.isSelected())
inter = new DataStringDeal().BinaryToDecimalString(inter);
if (jrbOctal.isSelected())
inter = new DataStringDeal().OctalToDecimalString(inter);
if (jrbHex.isSelected())
inter = new DataStringDeal().HexToDecimalString(inter);
innerExpression[count]=inter;
count++;
if (count>=innerExpression.length){
String[] temp = new String[count*2];
for (int i=0;i<innerExpression.length;i++)
temp[i]=innerExpression[i];
innerExpression=temp;
}
inter="";
}
String returnValue = new DataStringDeal(innerExpression,count-1).doOperation();
//接收用doOperation()方法计算出的表达式的值
String value=returnValue;
if (jrbBinary.isSelected())
value = new DataStringDeal().DecimalToBinaryString(returnValue);
else
if (jrbOctal.isSelected())
value = new DataStringDeal().DecimalToOctalString(returnValue);
else
if (jrbHex.isSelected())
value = new DataStringDeal().DecimalToHexString(returnValue);
memory=value;
count=0;
innerExpression[count]=returnValue;
count++;
jtaExpPanel.setText(memory);
}
//"/"的处理
if (e.getSource()==jbtDiv){
if (inter!=""){
if (jrbBinary.isSelected())
inter = new DataStringDeal().BinaryToDecimalString(inter);
if (jrbOctal.isSelected())
inter = new DataStringDeal().OctalToDecimalString(inter);
if (jrbHex.isSelected())
inter = new DataStringDeal().HexToDecimalString(inter);
innerExpression[count]=inter;
count++;
if (count>=innerExpression.length){
String[] temp = new String[count*2];
for (int i=0;i<innerExpression.length;i++)
temp[i]=innerExpression[i];
innerExpression=temp;
}
inter="";
}
memory=memory+"/";
innerExpression[count]="/";
count++;
if (count>=innerExpression.length){
String[] temp = new String[count*2];
for (int i=0;i<innerExpression.length;i++)
temp[i]=innerExpression[i];
innerExpression=temp;
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[0]){
memory=memory+"0";
if (count==0)
inter=inter+"0";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"0";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[1]){
memory=memory+"1";
if (count==0)
inter=inter+"1";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"1";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[2]&&(jrbOctal.isSelected()||jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"2";
if (count==0)
inter=inter+"2";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"2";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[3]&&(jrbOctal.isSelected()||jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"3";
if (count==0)
inter=inter+"3";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"3";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[4]&&(jrbOctal.isSelected()||jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"4";
if (count==0)
inter=inter+"4";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"4";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[5]&&(jrbOctal.isSelected()||jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"5";
if (count==0)
inter=inter+"5";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"5";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[6]&&(jrbOctal.isSelected()||jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"6";
if (count==0)
inter=inter+"6";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"6";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[7]&&(jrbOctal.isSelected()||jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"7";
if (count==0)
inter=inter+"7";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"7";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[8]&&(jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"8";
if (count==0)
inter=inter+"8";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"8";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[9]&&(jrbDecimal.isSelected()||jrbHex.isSelected())){
memory=memory+"9";
if (count==0)
inter=inter+"9";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
inter = inter+"9";
}
jtaExpPanel.setText(memory);
}
if (e.getSource()==jbtData[10]&&jrbHex.isSelected()){
memory=memory+"A";
if (count==0)
inter=inter+"A";
else{
if (innerExpression[count-1]!="."&&innerExpression[count-1]!="1"&&innerExpression[count-1]!="2"&&innerExpression[count-1]!="3"
&&innerExpression[count-1]!="4"&&innerExpression[count-1]!="5"&&innerExpression[count-1]!="6"&&innerExpression[count-1]!="7"
&&innerExpression[count-1]!="8"&&innerExpression[count-1]!="9"&&innerExpression[count-1]!="0")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -