myframe1.java~1~

来自「教材管理系统」· JAVA~1~ 代码 · 共 245 行

JAVA~1~
245
字号
//计算器类package bookmanager;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;import com.borland.jbcl.layout.*;public class Calculator extends JInternalFrame implements ActionListener{        private JTextField displayText=new JTextField();        private JButton buttonTag=new JButton();        private JButton buttonBackspace=new JButton("Backspace");        private JButton buttonCe=new JButton("CE");        private JButton buttonc=new JButton("C");        private JButton[] button=new JButton[24];        private String[] keys={"MC","7","8","9","/","sqrt","MR","4","5","6","*","%",                                "MS","1","2","3","-","1/x","M+","0","+/-",".","+","="};        private String numStr1="";        private String numStr2="";        private String numsave="";        private char op;        private boolean firstInput=true;        private boolean operatorTag1=true;        private boolean operatorTag2=true;  XYLayout xYLayout1 = new XYLayout();//	private JMenuBar mb=new JMenuBar();//	private JMenu editMenu=new JMenu("编辑");//	private JMenu seeMenu=new JMenu("查看");//	private JMenu helpMenu=new JMenu("帮助");        public Calculator(){                setTitle("计算器");                setSize(345,265);                Container pane=getContentPane();                //displayText.setBackground(Color.blue);//		editMenu.add("复制");//		editMenu.add("粘贴");//		seeMenu.add("标准型");//		seeMenu.add("科学型");//		seeMenu.addSeparator();//		seeMenu.add("数字型");//		helpMenu.add("帮助主题");//		helpMenu.addSeparator();//		helpMenu.add("关于计算器");//		mb.add(editMenu);//		mb.add(seeMenu);//		mb.add(helpMenu);//		setJMenuBar(mb);                pane.setLayout(null);        displayText.setHorizontalAlignment(JTextField.RIGHT);                displayText.setSize(320,30);                displayText.setLocation(10,10);                pane.add(displayText);                buttonTag.setSize(60,30);                buttonTag.setLocation(10,50);                pane.add(buttonTag);                buttonBackspace.setSize(110,30);                buttonBackspace.setLocation(90,50);                buttonBackspace.setForeground(Color.red);                buttonBackspace.addActionListener(this);                pane.add(buttonBackspace);                buttonCe.setSize(65,30);                buttonCe.setLocation(200,50);                buttonCe.setForeground(Color.red);                pane.add(buttonCe);                buttonc.setSize(65,30);                buttonc.setLocation(265,50);                buttonc.setForeground(Color.red);                buttonc.addActionListener(this);                pane.add(buttonc);                int x,y;                x=10;                y=85;                for(int ind=0;ind<24;ind++){                        //button[ind].setFont(new Font("Times New Roman",Font.PLAIN,14));                        button[ind]=new JButton(keys[ind]);                        button[ind].addActionListener(this);                        button[ind].setLocation(x,y);                        if(ind%6==0 || ind%6==5)                                {button[ind].setSize(60,30);                                x=x+60;}                        else                                {button[ind].setSize(50,30);                                x=x+50;}                        if(ind%6==0 || ind%6==4 ||ind%24==23)                                button[ind].setForeground(Color.red);                        else                                button[ind].setForeground(Color.blue);                        pane.add(button[ind]);                        if((ind+1)%6==0)                                {                                x=10;                                y=y+30;                                }                        }//		this.addWindowListener(new WindowAdapter(){//			public void windowClosing(WindowEvent e)//				{//				System.exit(0);//				}//			});                setVisible(true);                this.setClosable(true);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }                }        public void actionPerformed(ActionEvent e){                        String resultStr="";                        String str=String.valueOf(e.getActionCommand());                        char ch=str.charAt(0);                        if(str.equals("0")||str.equals("1")||str.equals("2")||str.equals("3")||str.equals("4")||                                str.equals("5")||str.equals("6")||str.equals("7")||str.equals("8")||                                str.equals("9")||str.equals(".")){                                                if(firstInput){                                                        numStr1=numStr1+ch;                                                        displayText.setText(numStr1);                                                        }                                                else{                                                        numStr2=numStr2+ch;                                                        displayText.setText(numStr2);                                                        }                                                }                        else if(str.equals("+")||str.equals("-")||str.equals("*")                                                ||str.equals("/") & operatorTag2){                                                if(numStr2.equals(""))                                        op=ch;                                        else{                                                resultStr=evaluate();                                                displayText.setText(resultStr);                                                numStr1=resultStr;                                                    numStr2="";                                                    op=ch;                                                }                                                firstInput=false;                                                //operatorTag1=false;                                                }                        else if(str.equals("=")){                                                resultStr=evaluate();                                                displayText.setText(resultStr);                                                numStr1="";                                                numStr2="";                                                firstInput=true;                                        }                        else if(str.equals("C")){                                                displayText.setText("");                                                numStr1="";                                                numStr2="";                                                firstInput=true;                                }                        else if((str.equals("sqrt")|str.equals("1/x")) & !numStr1.equals("")&operatorTag1){                                float A=Float.parseFloat(numStr1);                                float result=0;                                if(str.equals("sqrt"))                                        result=(float)Math.sqrt(A);                                if(str.equals("1/x"))                                        result=1/A;                                numStr1=Float.toString(result);                                displayText.setText(numStr1);                                firstInput=false;                                //operatorTag2=false;                                }                        else if (str.equals("Backspace")){                                String str1=displayText.getText();                                if(!str1.equals("")){                                        displayText.setText(str1.substring(0,str1.length()-1));                                if(!numStr1.equals(""))                                        numStr1=displayText.getText();                                else                                        numStr2=displayText.getText();                                        }                                }                        else if(str.equals("MS")){                                numsave=displayText.getText();                                buttonTag.setText("M");                            numStr1="";                                }                        else if(str.equals("MC")){                                numsave="";                                buttonTag.setText("");                                }                        else if (str.equals("MR")){                                displayText.setText(numsave);                                }                        else if(str.equals("M+")){                                }                        }        private String evaluate(){                //final char beep='\n0007';                if(!numStr1.equals("") & !numStr2.equals("")){                        float A=Float.parseFloat(numStr1);                        float B=Float.parseFloat(numStr2);                        float result=0;                        switch(op){                                        case '+':result=A+B;break;                                        case '-':result=A-B;break;                                        case '*':result=A*B;break;                                        case '/':result=A/B;break;                                        }                        return String.valueOf(result);                        }                else                        return numStr1;                }  private void jbInit() throws Exception {    this.getContentPane().setLayout(xYLayout1);  }//	public static void main(String []args){//		Calculator C=new Calculator();//		C.setResizable(false);//		}}

⌨️ 快捷键说明

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