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

📄 karl.java

📁 这是一个用java写的图形界面
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        panel.add(textAnswer, BorderLayout.CENTER);
        panel.add(panel1, BorderLayout.SOUTH);
        panel1.setLayout(new BorderLayout());
        textMemory = new JTextField(3);
        textMemory.setEditable(false);
        textMemory.setBackground(new Color(220, 50, 250));
        labelMemSpace = new JLabel(" ");
        buttonBk = new JButton("Backspace");
        buttonBk.setForeground(new Color(255, 0, 0));
        buttonBk.setFont(new Font("Dialog",Font.BOLD,14));
        buttonCe = new JButton("CE");
        buttonCe.setForeground(new Color(255, 0, 0));
        buttonCe.setFont(new Font("Dialog",Font.BOLD,14));
        buttonC = new JButton("C");
        buttonC.setForeground(new Color(255, 0, 0));
        buttonC.setFont(new Font("Dialog",Font.BOLD,14));
        buttonBk.addActionListener(this);
        buttonBk.addMouseMotionListener(this);
        buttonCe.addActionListener(this);
        buttonCe.addMouseMotionListener(this);
        buttonC.addActionListener(this);
        buttonC.addMouseMotionListener(this);
        panel1.add(panel2, BorderLayout.NORTH);
        panel1.setBackground(new Color(230,250,250));
        panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
        panel2.setBackground(new Color(230,250,250));
        panel2.add(textMemory);
        panel2.add(labelMemSpace);
        panel2.add(buttonBk);
        panel2.add(buttonCe);
        panel2.add(buttonC);
        panel3 = new JPanel();
        panel3.setBackground(new Color(230,250,250));
        panel1.add(panel3, BorderLayout.CENTER);
        button = new JButton[10];
        for (int i = 0; i < button.length; i++) {
            button[i] = new JButton(Integer.toString(i));
            button[i].setForeground(new Color(0, 0, 255));
            button[i].setFont(new Font("Dialog",Font.BOLD,14));
            button[i].addMouseMotionListener(this);
        }
        buttonMC = new JButton("MC");
        buttonMC.setForeground(new Color(255, 0, 0));
        buttonMC.setFont(new Font("Dialog",Font.BOLD,14));
        buttonMR = new JButton("MR");
        buttonMR.setForeground(new Color(255, 0, 0));
        buttonMR.setFont(new Font("Dialog",Font.BOLD,14));
        buttonMS = new JButton("MS");
        buttonMS.setForeground(new Color(255, 0, 0));
        buttonMS.setFont(new Font("Dialog",Font.BOLD,14));
        buttonMAdd = new JButton("M+");
        buttonMAdd.setForeground(new Color(255, 0, 0));
        buttonMAdd.setFont(new Font("Dialog",Font.BOLD,14));
        buttonDot = new JButton(".");
        buttonDot.setForeground(new Color(0, 0, 255));
        buttonDot.setFont(new Font("Dialog",Font.BOLD,24));
        buttonAddAndSub = new JButton("+/-");
        buttonAddAndSub.setForeground(new Color(0, 0, 255));
        buttonAddAndSub.setFont(new Font("Dialog",Font.BOLD,18));
        buttonAdd = new JButton("+");
        buttonAdd.setForeground(new Color(10, 220, 250));
        buttonAdd.setFont(new Font("Dialog",Font.BOLD,18));
        buttonSub = new JButton("-");
        buttonSub.setForeground(new Color(255, 0, 0));
        buttonSub.setFont(new Font("Dialog",Font.BOLD,18));
        buttonMul = new JButton("*");
        buttonMul.setForeground(new Color(255, 0, 0));
        buttonMul.setFont(new Font("Dialog",Font.BOLD,18));
        buttonDiv = new JButton("/");
        buttonDiv.setForeground(new Color(150, 252, 140));
        buttonDiv.setFont(new Font("Dialog",Font.BOLD,18));
        buttonMod = new JButton("%");
        buttonMod.setForeground(new Color(220,140, 50));
        buttonMod.setFont(new Font("Dialog",Font.BOLD,18));
        buttonSqrt = new JButton("sqrt");
        buttonSqrt.setForeground(new Color(20, 240, 255));
        buttonSqrt.setFont(new Font("Dialog",Font.BOLD,18));
        buttonDao = new JButton("1/x");
        buttonDao.setForeground(new Color(240, 0, 255));
        buttonDao.setFont(new Font("Dialog",Font.BOLD,24));
        buttonEqual = new JButton("=");
        buttonEqual.setForeground(new Color(255, 0, 255));

        panel3.setLayout(new GridLayout(4, 6));
        panel3.setBackground(new Color(220,250,250));
        panel3.add(buttonMC);

        /*add listener for all the compounent*/


        buttonMC.addActionListener(this);
        buttonMC.addMouseMotionListener(this);
        panel3.add(button[7]);
        button[7].addActionListener(this);
        panel3.add(button[8]);
        button[8].addActionListener(this);
        panel3.add(button[9]);
        button[9].addActionListener(this);
        panel3.add(buttonDiv);
        buttonDiv.addActionListener(this);
        panel3.add(buttonSqrt);
        buttonSqrt.addActionListener(this);
        buttonSqrt.addMouseMotionListener(this);
        panel3.add(buttonMR);
        buttonMR.addActionListener(this);
        buttonMR.addMouseMotionListener(this);
        panel3.add(button[4]);
        button[4].addActionListener(this);
        panel3.add(button[5]);
        button[5].addActionListener(this);
        panel3.add(button[6]);
        button[6].addActionListener(this);
        panel3.add(buttonMul);
        buttonMul.addActionListener(this);
        buttonMul.addMouseMotionListener(this);
        panel3.add(buttonMod);
        buttonMod.addActionListener(this);
        buttonMod.addMouseMotionListener(this);
        panel3.add(buttonMS);
        buttonMS.addActionListener(this);
        buttonMS.addMouseMotionListener(this);
        panel3.add(button[1]);
        button[1].addActionListener(this);
        panel3.add(button[2]);
        button[2].addActionListener(this);
        panel3.add(button[3]);
        button[3].addActionListener(this);
        panel3.add(buttonSub);
        buttonSub.addActionListener(this);
        buttonSub.addMouseMotionListener(this);
        panel3.add(buttonDao);
        buttonDao.addActionListener(this);
        buttonDao.addMouseMotionListener(this);
        panel3.add(buttonMAdd);
        buttonMAdd.addActionListener(this);
        buttonMAdd.addMouseMotionListener(this);
        panel3.add(button[0]);
        button[0].addActionListener(this);
        panel3.add(buttonAddAndSub);
        buttonAddAndSub.addActionListener(this);
        buttonAddAndSub.addMouseMotionListener(this);
        panel3.add(buttonDot);
        buttonDot.addActionListener(this);
        buttonDot.addMouseMotionListener(this);
        panel3.add(buttonAdd);
        buttonAdd.addActionListener(this);
        buttonAdd.addMouseMotionListener(this);
        panel3.add(buttonEqual);
        buttonEqual.addActionListener(this);
        buttonEqual.addMouseMotionListener(this);


        /*set the property of the calculator window*/
        frame.addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                     frame.dispose();
                     try{
                        Thread.sleep(20);
                     }catch(Exception e1){}

                     Karl lili=new Karl();
                     lili.go();

                }
            });
        frame.pack();

        frame.setResizable(false);
        frame.setBackground(new Color(220,250,250));
        frame.setForeground(new Color(220,250,250));
        Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize=frame.getSize();
        frame.setLocation( (screenSize.width - frameSize.width) / 2,
        (screenSize.height - frameSize.height) / 2);
        try{
              Thread.sleep(500);
          }catch(Exception e2){}
          frame.setVisible(true);
          frame.show();
    }

    /*set the action of all the button*/
       public void mouseDragged(MouseEvent e){}

        public void mouseMoved(MouseEvent e){

                 buttonEqual.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonBk.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));                          buttonCe.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));                          buttonC.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonMC.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonMR.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonMS.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonMAdd.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonDot.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonAddAndSub.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonAdd.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonSub.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonMul.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonDiv.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonMod.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonSqrt.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonDao.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 buttonEqual.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 for(int i=0;i<10;i++){
                     button[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                 }
       }

       public void actionPerformed(ActionEvent event) {

             /*judge if the number is float*/
             boolean sign = false;
             Object temp = event.getSource();
              try {

              for (int i = 0; i <= 9; i++)
                if  (temp == button[i] && clickable == true)
                    textAnswer.setText(textAnswer.getText()
                            + Integer.toString(i));

                if (temp == buttonDot && clickable == true) {
                    boolean isDot = false;
                if (textAnswer.getText().length() == 0)
                    isDot = true;
                for (int i = 0; i < textAnswer.getText().length(); i++)
                    if ('.' == textAnswer.getText().charAt(i)) {
                        isDot = true;
                        break;
                    }
                if (isDot == false)
                    textAnswer.setText(textAnswer.getText() + ".");
            }
            if ((temp == buttonAdd || temp == buttonSub || temp == buttonMul || temp == buttonDiv)
                    && clickable == true) {
                /*+operate*/
                if (temp == buttonAdd) {
                    switch (prekey) {
                    case 0:
                        answerd += Double.parseDouble(textAnswer.getText());
                        break;
                    case 1:
                        answerd -= Double.parseDouble(textAnswer.getText());
                        break;
                    case 2:
                        answerd *= Double.parseDouble(textAnswer.getText());
                        break;
                    case 3:
                        if (Double.parseDouble(textAnswer.getText()) == 0) {


                            textAnswer.setText("The divisor can not be zero");
                            clickable = false;
                        } else
                            answerd /= Double.parseDouble(textAnswer.getText());
                        break;
                    default:
                        answerd = Double.parseDouble(textAnswer.getText());
                    }
                    textAnswer.setText("");
                    prekey = key = 0;
                }
                /*-operator*/
                if (temp == buttonSub) {
                    switch (prekey) {
                    case 0:
                        answerd += Double.parseDouble(textAnswer.getText());
                        break;
                    case 1:
                        answerd -= Double.parseDouble(textAnswer.getText());
                        break;
                    case 2:
                        answerd *= Double.parseDouble(textAnswer.getText());
                        break;
                    case 3:
                        if (Double.parseDouble(textAnswer.getText()) == 0) {
                            textAnswer.setText("The divisor can not be zero");
                            clickable = false;
                        } else
                            answerd /= Double.parseDouble(textAnswer.getText());
                        break;
                    default:
                        answerd = Double.parseDouble(textAnswer.getText());
                    }
                    textAnswer.setText("");
                    prekey = key = 1;
                }
                /* *opertor*/
                if (temp == buttonMul) {
                    switch (prekey) {
                    case 0:
                        answerd += Double.parseDouble(textAnswer.getText());
                        break;
                    case 1:
                        answerd -= Double.parseDouble(textAnswer.getText());
                        break;
                    case 2:
                        answerd *= Double.parseDouble(textAnswer.getText());
                        break;
                    case 3:
                        if (Double.parseDouble(textAnswer.getText()) == 0) {
                            textAnswer.setText("The divisor can not be zero");
                            clickable = false;
                        } else
                            answerd /= Double.parseDouble(textAnswer.getText());
                        break;
                    default:
                        answerd = Double.parseDouble(textAnswer.getText());
                    }
                    //textAnser = "";
                    textAnswer.setText("");
                    prekey = key = 2;
                }
                /*  /  operator*/
                if (temp == buttonDiv) {

⌨️ 快捷键说明

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