有关于NetBeans设计计算器的总结

      使用NetBeans设计一个计算器这不是一个难事,但是NetBeans使用起来觉得不怎么好用,比起做web界面的Dreamweaver起来,并不觉得好用。

做了一个计算器,只能实现最基本的功能,再写复杂的功能的时候,发现好难,实现了一个功能,就有可能会造成其他功能逻辑上的错误。真如老师所说,水很深。

再NetBeans中加入背景图片,并且不会遮挡到前面的控件,这个功能的实现很麻烦,不是改动background就行。

1.要在jframe中加入分层窗体

2.分层窗体中加入两个panel面板

3.在下层的窗体中加入label,label的icon中加入图片

4.两个panel面板的opaque属性为空

就可以了。

可以实现最基本的加减乘除混合运算

//使用Java script类

ScriptEngineManager manager = newScriptEngineManager();

       ScriptEngine se = manager.getEngineByName("js");

       Double result = null;

      

       try {

           result =(Double)se.eval("("+resultTxt.getText()+")*1.0");

       } catch (ScriptException ex) {

           Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);

       }

      

       resultTxt.setText(result.toString());

和退格删除功能

  String str = resultTxt.getText();

       StringBuffer strbuff = new StringBuffer(str);

 

      //如果字符少于两个,退格删除显示为0

 if(str.length()<2){

           resultTxt.setText("0");

                   //多余两个删除一个字符

       }else{

           strbuff.deleteCharAt(str.length()-1);

           resultTxt.setText(strbuff.toString());

       }

清除功能。

//文本字段中显示为0

String str2 = resultTxt.getText();

       str2=("0");

       resultTxt.setText(str2);

使运算符号不重复输入

public void setNum1(String str){

                   //定义字符串,字符串等于文本字段中的字符

       String strText = resultTxt.getText();

       int lastRight = strText.length() -1;

       char ch  =strText.charAt(lastRight);

                   //如果最右为+,-,*,/,.,显示原来的字符串

       if(ch=='+'||ch=='-'||ch=='*'||ch=='/'||ch=='.'){

           String strRusult = strText.substring(0,lastRight);

           resultTxt.setText(strText);

                   //否则显示原有的加新输入

       }else{

           resultTxt.setText(strText+str);

       }

    }



你可能感兴趣的:(有关于NetBeans设计计算器的总结)