JAVA涂鸦
关于JAVA的点点滴滴
posts - 50,  comments - 689,  trackbacks - 0
效果图:
Snap1.jpg

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

//定义了一个面板存放控件
class MyPanel extends JPanel implements ActionListener
{
    //定义了19个按钮(有两个还没实现),一个文本框
    JButton jb1=new JButton("1");
    JButton jb2=new JButton("2");
    JButton jb3=new JButton("3");
    JButton jb4=new JButton("4");
    JButton jb5=new JButton("5");
    JButton jb6=new JButton("6");
    JButton jb7=new JButton("7");    
    JButton jb8=new JButton("8");
    JButton jb9=new JButton("9");    
    JButton jb10=new JButton("0");
    JButton jb11=new JButton("+");
    JButton jb12=new JButton("-");
    JButton jb13=new JButton("*");    
    JButton jb14=new JButton("/");    
    JButton jb15=new JButton("+/-");    
    JButton jb16=new JButton("清零");    
    JButton jb17=new JButton("");    //留着给以后加按钮
    JButton jb18=new JButton(".");//起符号作用的按钮,还没实现    
    JButton jb19=new JButton("=");    
    JTextField jtf=new JTextField(20);
    String type;//定义了一个字符串存放算术运算符
    double a=0D,b=0D;//定义两个数字(算术运算符两边的数字)
    
    public MyPanel()
    {
        jtf.setText("0");
        jtf.setHorizontalAlignment(JTextField.RIGHT);
        setLayout(null);//定义面板布局为空型
        jb1.setBounds(new Rectangle(125, 148, 45, 25));
        jb2.setBounds(new Rectangle(70, 148, 45, 25));
        jb3.setBounds(new Rectangle(15, 148, 45, 25));
        jb4.setBounds(new Rectangle(125, 115, 45, 25));
        jb5.setBounds(new Rectangle(70, 115, 45, 25));
        jb6.setBounds(new Rectangle(15, 115, 45, 25));
        jb7.setBounds(new Rectangle(125, 80, 45, 25));
        jb8.setBounds(new Rectangle(70, 80, 45, 25));
        jb9.setBounds(new Rectangle(15, 80, 45, 25));
        jb10.setBounds(new Rectangle(15, 180, 45, 25));
        jb11.setBounds(new Rectangle(185, 148, 60, 25));
        jb12.setBounds(new Rectangle(185, 180, 60, 25));
        jb13.setBounds(new Rectangle(185, 115, 60, 25));
        jb14.setBounds(new Rectangle(185, 80, 60, 25));
        jb15.setBounds(new Rectangle(185, 45, 60, 25));
        jb16.setBounds(new Rectangle(15, 45, 70, 25));
        jb17.setBounds(new Rectangle(96, 45, 70, 25));
        jb18.setBounds(new Rectangle(70, 180, 45, 25));
        jb19.setBounds(new Rectangle(125, 180, 45, 25));
        jtf.setBounds(new Rectangle(15, 9, 231, 28));
        add(jtf);
        jb1.addActionListener(this);
        jb2.addActionListener(this);
        jb3.addActionListener(this);
        jb4.addActionListener(this);
        jb5.addActionListener(this);
        jb6.addActionListener(this);
        jb7.addActionListener(this);
        jb8.addActionListener(this);
        jb9.addActionListener(this);
        jb10.addActionListener(this);
        jb11.addActionListener(this);
        jb12.addActionListener(this);
        jb13.addActionListener(this);
        jb14.addActionListener(this);
        jb15.addActionListener(this);
        jb16.addActionListener(this);
        jb17.addActionListener(this);
        jb18.addActionListener(this);
        jb19.addActionListener(this);
            
        add(jb1);
        add(jb2);
        add(jb3);
        add(jb4);
        add(jb5);
        add(jb6);
        add(jb7);
        add(jb8);
        add(jb9);
        add(jb10);
        add(jb11);
        add(jb12);
        add(jb13);
        add(jb14);
        add(jb15);
        add(jb16);
        add(jb17);
        add(jb18);
        add(jb19);
    }
    
        
    public void actionPerformed(ActionEvent e)
    {    
        if(e.getSource()==jb1)
        {
            if(type=="equal")
                jtf.setText("1");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("1");
            else
                jtf.setText(jtf.getText()+'1');
            
        }
        else if(e.getSource()==jb2)
        {
            if(type=="equal")
                jtf.setText("2");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("2");
            else
                jtf.setText(jtf.getText()+'2');
        }
        else if(e.getSource()==jb3)
        {
            if(type=="equal")
                jtf.setText("3");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("3");
            else
                jtf.setText(jtf.getText()+'3');
        }
        else if(e.getSource()==jb4)
        {
            if(type=="equal")
                jtf.setText("4");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("4");
            else
                jtf.setText(jtf.getText()+'4');
        }
        else if(e.getSource()==jb5)
        {
            if(type=="equal")
                jtf.setText("5");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("5");
            else
                jtf.setText(jtf.getText()+'5');
        }
        else if(e.getSource()==jb6)
        {
            if(type=="equal")
                jtf.setText("6");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("6");
            else
                jtf.setText(jtf.getText()+'6');
        }
        else if(e.getSource()==jb7)
        {
            if(type=="equal")
                jtf.setText("7");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("7");
            else
                jtf.setText(jtf.getText()+'7');
        }
        else if(e.getSource()==jb8)
        {
            if(type=="equal")
                jtf.setText("8");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("8");
            else
                jtf.setText(jtf.getText()+'8');
        }
        else if(e.getSource()==jb9)
        {
            if(type=="equal")
                jtf.setText("9");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("9");
            else
                jtf.setText(jtf.getText()+'9');
        }
        else if(e.getSource()==jb10)
        {
            if(type=="equal")
                jtf.setText("0");
            else if(jtf.getText().equals("0"))
            
                jtf.setText("0");
            else
                jtf.setText(jtf.getText()+'0');
        }
        else if(e.getSource()==jb18)
        {
            if(jtf.getText().indexOf(".")<1)
            {
                jtf.setText(jtf.getText()+'.');
            }
            else
            {
                jtf.setText(jtf.getText());
            }
            
        }
        else if(e.getSource()==jb18)
        {
            if(jtf.getText().equals("0"))
                jtf.setText("0");
            
        }
        else if(e.getSource()==jb16)
        {
            jtf.setText("0");
        }
        else if(e.getSource()==jb11)
        {
            if(jtf.getText().equals("0"))
                    jtf.setText("0");
            else
            {
                type="add";
                a=Double.parseDouble(jtf.getText());
                jtf.setText("");
            }
        }
        else if(e.getSource()==jb12)
        {
            if(jtf.getText().equals("0"))
                    jtf.setText("0");
            else
            {
                type="subtract";
                a=Double.parseDouble(jtf.getText());
                jtf.setText("");
            }
        }
        else if(e.getSource()==jb13)
        {
            if(jtf.getText().equals("0"))
                    jtf.setText("0");
            else
            {
                type="multiply";
                a=Double.parseDouble(jtf.getText());
                jtf.setText("");
            }    
        }
        else if(e.getSource()==jb14)
        {
            if(jtf.getText().equals("0"))
                    jtf.setText("0");
            else
            {
                type="divide";
                a=Double.parseDouble(jtf.getText());
                jtf.setText("");
            }
        }
        else if(e.getSource()==jb19)
        {
            if(type=="add")
            {
                b=Double.parseDouble(jtf.getText());
                jtf.setText(Double.toString(a+b));
                type="equal";
            }
            else if(type=="subtract")
            {
                b=Double.parseDouble(jtf.getText());
                jtf.setText(Double.toString(a-b));
                type="equal";
            }
            else if(type=="multiply")
            {
                b=Double.parseDouble(jtf.getText());
                jtf.setText(Double.toString(a*b));
                type="equal";
            }
            else if(type=="divide")
            {
                b=Double.parseDouble(jtf.getText());
                jtf.setText(Double.toString(a/b));
                type="equal";
            }
        }
        
    }
}

class Calculator extends JFrame
{
    public Calculator()
    {
        this.setTitle("计算器");
        this.getContentPane().add(new MyPanel());
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300,250);
        setVisible(true);
    }
    
    public static void main(String args[])
    {
        new Calculator();
    }
}
posted on 2005-09-20 17:31 千山鸟飞绝 阅读(780) 评论(0)  编辑  收藏 所属分类: J2SE

只有注册用户登录后才能发表评论。


网站导航:
 
正在阅读:



<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(35)

随笔档案

文章分类

文章档案

好友的blog

我的其他blog

老婆的Blog

搜索

  •  

积分与排名

  • 积分 - 771284
  • 排名 - 55

最新评论

阅读排行榜

评论排行榜