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

📄 jisuanqi.txt

📁 java原码制作的一个计数器程序的原代请站长审批和上一个不一样
💻 TXT
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Calculator extends JFrame {

        private Container container;
        private GridBagLayout layout;
        private GridBagConstraints constraints; 
        private JTextField displayField;//计算结果显示区
        private String lastCommand;//保存+,-,*,/,=命令
        private double result;//保存计算结果
        private boolean start;//判断是否为数字的开始

        public Calculator()        {

                super("Calculator");
                container=getContentPane();
                layout=new GridBagLayout();
                container.setLayout(layout);
                constraints=new GridBagConstraints();
                start=true;
                result=0;
                lastCommand = "=";
                displayField=new JTextField(20);
                displayField.setHorizontalAlignment(JTextField.RIGHT);
                constraints.gridx=0;
                constraints.gridy=0;
                constraints.gridwidth=4;
                constraints.gridheight=1;
                constraints.fill=GridBagConstraints.BOTH;
                constraints.weightx=100;
                constraints.weighty=100;
                layout.setConstraints(displayField,constraints);
                container.add(displayField);
                ActionListener insert = new InsertAction();
                ActionListener command = new CommandAction();
                addButton("Backspace",0,1,2,1,insert);
                addButton("CE",2,1,1,1,insert);
                addButton("C",3,1,1,1,insert);
                addButton("7",0,2,1,1,insert);
                addButton("8",1,2,1,1,insert);
                addButton("9",2,2,1,1,insert);
                addButton("/",3,2,1,1,command);
                addButton("4",0,3,1,1,insert);
                addButton("5",1,3,1,1,insert);
                addButton("6",2,3,1,1,insert);
                addButton("*",3,3,1,1,command);
                addButton("1",0,4,1,1,insert);
                addButton("2",1,4,1,1,insert);
                addButton("3",2,4,1,1,insert);
                addButton("-",3,4,1,1,command);
                addButton("0",0,5,1,1,insert);
                addButton("+/-",1,5,1,1,insert);//只显示"-"号,"+"没有实用价值
                addButton(".",2,5,1,1,insert);
                addButton("+",3,5,1,1,command);
                addButton("=",0,6,4,1,command);
                setSize(300,300);
                setVisible(true);
                
        }


        private void addButton(String label,int row,int column,int with,int height,ActionListener listener) {

                JButton button=new JButton(label);
                constraints.gridx=row;
                constraints.gridy=column;
                constraints.gridwidth=with;
                constraints.gridheight=height;
                constraints.fill=GridBagConstraints.BOTH;
                button.addActionListener(listener);
                layout.setConstraints(button,constraints);
                container.add(button);
        }


        private class InsertAction implements ActionListener {

                public void actionPerformed(ActionEvent event) {

                        String input=event.getActionCommand();
                        if (start) {
                                displayField.setText("");
                                start=false;
                                if(input.equals("+/-"))
                                displayField.setText(displayField.getText()+"-"); 
                        }
        
                        if(!input.equals("+/-")) {
                                if(input.equals("Backspace")) {
                                        String str=displayField.getText();
                                        if(str.length()>0)
                                                 displayField.setText(str.substring(0,str.length()-1));
                                }else if(input.equals("CE")||input.equals("C"))        {
                                        displayField.setText("0");
                                        start=true;
                                }else
                                        displayField.setText(displayField.getText()+input);
                        }
                }
        }


        private class CommandAction implements ActionListener {

                public void actionPerformed(ActionEvent evt) {
                        String command=evt.getActionCommand();
                        if(start) {
                                lastCommand=command;
                        }else {
                                calculate(Double.parseDouble(displayField.getText()));
                                lastCommand=command;
                                start=true;
                        }
                }
        }

        public void calculate(double x) {
                if (lastCommand.equals("+")) result+= x;    
                else if (lastCommand.equals("-")) result-=x;
                else if (lastCommand.equals("*")) result*=x;   
                else if (lastCommand.equals("/")) result/=x;
                else if (lastCommand.equals("=")) result=x;
                displayField.setText(""+ result);
        }

        public static void  main(String []args) {
                Calculator calculator=new Calculator();
                calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }

}

⌨️ 快捷键说明

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