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

📄 calculatorframe.java

📁 java计算器
💻 JAVA
字号:
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator{    public static void main(String[] args)    {         CalculatorFrame frame=new CalculatorFrame();         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         frame.show();        }    }   class CalculatorFrame extends JFrame{    public static final int w=300;    public static final int h=200;    public CalculatorFrame()    {        setTitle("Calculator made by sxl");        setSize(w,h);        Container contentPane=getContentPane();        CalculatorPanel panel=new CalculatorPanel();        contentPane.add(panel);    }}   class CalculatorPanel extends JPanel{    private JTextField show;    private JPanel panel;    private JPanel newpanel;    private double result;    private String type;    private boolean start;    public CalculatorPanel()    {        setLayout(new BorderLayout());        show=new JTextField("0");        show.setEditable(false);        result=0;        type="=";        start=true;        add(show,BorderLayout.NORTH);        ActionListener number=new NumberAction();        ActionListener type=new TypeAction();        ActionListener clear=new ClearAction();        panel=new JPanel();        panel.setLayout(new GridLayout(3,6));        addButton("7",number);        addButton("8",number);        addButton("9",number);        addButton("+",type);        addButton("-",type);        addButton("C",clear);        addButton("4",number);        addButton("5",number);        addButton("6",number);        addButton("*",type);        addButton("/",type);        addButton("=",type);        addButton("1",number);        addButton("2",number);        addButton("3",number);        addButton("0",number);        addButton(".",number);        add(panel,BorderLayout.CENTER);    }    private void addButton(String label,ActionListener listener)    {        JButton button=new JButton(label);        button.addActionListener(listener);        panel.add(button);    }    private class ClearAction implements ActionListener    {        public  void actionPerformed(ActionEvent event)        {            result=0;            show.setText("0");        }    }    private class NumberAction implements ActionListener    {        public void actionPerformed(ActionEvent event)        {            String input=event.getActionCommand();            if(start){show.setText("");start=false;};            show.setText(show.getText()+input);        }    }    private class TypeAction implements ActionListener    {        public void actionPerformed(ActionEvent event)        {            String newtype=event.getActionCommand();            if(start)            {                if(newtype.equals("-"))                {                    show.setText(newtype);                    start=false;                }                else                    type=newtype;             }             else             {                calculate(Double.parseDouble(show.getText()));                newtype=type;                start=true;             }         }     }     public void calculate(double x)     {         if(type.equals("+")) result+=x;         else if(type.equals("-")) result-=x;         else if(type.equals("*")) result*=x;         else if(type.equals("/")) result/=x;         else if(type.equals("=")) result=x;         show.setText(""+result);     }}            

⌨️ 快捷键说明

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