buttonpanel.java

来自「做了一个还算复杂的计算器,还是有一定的 参考价值的(比较适合中初级者)」· Java 代码 · 共 1,139 行 · 第 1/4 页

JAVA
1,139
字号
    				    temp[i]=innerExpression[i];
    			    innerExpression=temp;
    		    }
    			inter="";
    		}
    		memory=memory+"ln";
    	    innerExpression[count]="ln";
    	    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()==jbtSqrt&&jrbDecimal.isSelected()){
    		//为前面打进的数字组成的字符串进行存储,并将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+"sqrt";
    		innerExpression[count]="sqrt";
    	    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()==jbtSqr&&jrbDecimal.isSelected()){
    		//为前面打进的数字组成的字符串进行存储,并将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+"sqr";
    		innerExpression[count]="sqr";
    	    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()==jbtLBracket){
    		//为前面打进的数字组成的字符串进行存储,并将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()==jbtPlus){
    		//为前面打进的数字组成的字符串进行存储,并将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()==jbtPow&&jrbDecimal.isSelected()){
    		//为前面打进的数字组成的字符串进行存储,并将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()==jbtRBracket){
    		//为前面打进的数字组成的字符串进行存储,并将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()==jbtSub){
    		//为前面打进的数字组成的字符串进行存储,并将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;
    			if (count>=innerExpression.length){
    			    String[] temp = new String[count*2];
    			    for (int i=0;i<innerExpression.length;i++)
    				    temp[i]=innerExpression[i];
    			    innerExpression=temp;
    		    }
    			count++;
    			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()==jbtFac&&jrbDecimal.isSelected()){
    		//为前面打进的数字组成的字符串进行存储,并将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]="n!";
    	    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()==jbtLog&&jrbDecimal.isSelected()){
    		//为前面打进的数字组成的字符串进行存储,并将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="";

⌨️ 快捷键说明

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