当前位置: 代码迷 >> Java相关 >> 求高手帮我对这段代码注释下 !
  详细解决方案

求高手帮我对这段代码注释下 !

热度:342   发布时间:2012-10-09 09:38:31.0
求高手帮我对这段代码注释下 !
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator
{
   
    public static void main(String[] args)
    {
    EventQueue.invokeLater(new Runnable()
        {
            public void run()
                {
            CalculatorFrame frame=new CalculatorFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
            }
        });
    }
}

class CalculatorFrame extends JFrame
{
    public CalculatorFrame()
        {
            setTitle("计算器");
            CalculatorPanel panel=new CalculatorPanel();
            add(panel);
            pack();
    }
}
class CalculatorPanel extends JPanel
{
    public CalculatorPanel()
        {
        setLayout(new BorderLayout());

        result=0;
        lastCommand="=";
        start=true;
        int first=1;
        
        
        ActionListener insert=new InsertAction();
        ActionListener command=new CommandAction();
        ActionListener fzButton=new fzButtonAction();
        
        JPanel panel2=new JPanel();
        add(panel2,BorderLayout.NORTH);
        panel2.setLayout(new GridLayout(2,1));

        display=new JButton("0");
        display.setEnabled(false);
        panel2.add(display,BorderLayout.NORTH);
        
        panel =new JPanel();
        add(panel,BorderLayout.CENTER);
        panel.setLayout(new GridLayout(5,4));

        addButton("Backspace",fzButton);
        addButton("CE",fzButton);
        addButton("C",fzButton);
        addButton("",fzButton);

        addButton("7",insert);
        addButton("8",insert);
        addButton("9",insert);
        addButton("/",command);
        
        addButton("4",insert);
        addButton("5",insert);
        addButton("6",insert);
        addButton("*",command);

        addButton("1",insert);
        addButton("2",insert);
        addButton("3",insert);
        addButton("-",command);

        addButton("0",insert);
        addButton(".",insert);
        addButton("=",command);
        addButton("+",command);
        //add(panel2,BorderLayout.CENTER);
        //add(panel2,BorderLayout.CENTER);

        //JButton backspace=new JButton("Backspace");
        //JButton ce=new JButton("CE");
        //JButton c=new JButton("C");
    }
    private void addButton(String label,ActionListener listener)
    {
        JButton button =new JButton(label);
        button.addActionListener(listener);
        panel.add(button);
    }
    private class fzButtonAction implements ActionListener
    {
        public void actionPerformed(ActionEvent event)
        {
              if(first==1)
             display.setText("");
             first=0;
            String temp=event.getActionCommand();
            if(temp.equals("Backspace"))
                    {
                        String s = display.getText();

                        display.setText(" ");
                        for (int i = 0; i < s.length() - 1; i++)
                        {
                            char a = s.charAt(i);
                            display.setText(display.getText() + a);
                        }
                    }
               if (temp.equals("CE"))
                        {
                            display.setText("0.");
                            start=true;
                             first = 1;
                        }
                if (temp.equals("C"))
                    {
                        display.setText("0.");   ;
                        start=true;
                         first = 1;
                    }
        }
    }
    private class InsertAction implements ActionListener
    {
        public void actionPerformed(ActionEvent event)
        {
        String input=event.getActionCommand();
        if(start)
            {
            display.setText("");
            start=false;
        }
        display.setText(display.getText()+input);
    }
}

private class CommandAction implements ActionListener
{
    public void actionPerformed(ActionEvent event)
        {
        String command=event.getActionCommand();
        if(start)
            {
            if(command.equals("-"))
                {
                display.setText(command);
                start=false;
            }
            else lastCommand=command;
        }
        else
            {
            calculate(Double.parseDouble(display.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;
    display.setText(""+result);
}
private JButton display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;
private int first = 1;
private StringBuffer sb;
}
搜索更多相关的解决方案: import  frame  public  void  

----------------解决方案--------------------------------------------------------
不给分,还叫注释的?
----------------解决方案--------------------------------------------------------
  相关解决方案