| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 428 人关注过本帖
标题:求高手帮我对这段代码注释下 !
只看楼主 加入收藏
柒苒
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2012-9-15
结帖率:100%
收藏
 问题点数:0 回复次数:1 
求高手帮我对这段代码注释下 !
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 
2012-10-09 09:38
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
收藏
得分:0 
不给分,还叫注释的?

旨在提高编程水平,学有所用,学有所成,学有所为。
2013-05-17 15:32
快速回复:求高手帮我对这段代码注释下 !
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044051 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved