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

📄 buttonpanel.java

📁 做了一个还算复杂的计算器,还是有一定的 参考价值的(比较适合中初级者)
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    		}
    		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 + -