java 计算器课程设计报告

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;//导包

class MyClass extends JFrame

//创建一个MyClass类继承JFrame框架的窗口类,

//也就是说JFrame里有的功能MyClass都能实现

{

JLabel a1=new JLabel("第一个数");

//创建一个显示“第一个数”的标签

JLabel a2=new JLabel("第二个数");

JLabel a3=new JLabel("运算结果");

JTextField b1=new JTextField(5);

//创建一个文本框、默认长度为5,用来输入运算数字,当然也可以默认为空

JTextField b2=new JTextField(5);

JTextField b3=new JTextField(5);

//创建一个用于显示运算结果的标签,也可以创建一个标签来显示

JButton a=new JButton("加");

//创建一个用于加法计算的按钮,点击时进行加法运算

JButton b=new JButton("减");

JButton c=new JButton("乘");

JButton d=new JButton("除");

JPanel jp1=new JPanel();//创建一个面板,用来放控件

JPanel jp2=new JPanel();

JPanel jp3=new JPanel();

MyClass()//构造函数,用来初始化的

{

setLayout(new GridLayout(3,1));//添加一个四行四列的布局管理器

jp1.setLayout(new FlowLayout());//设置JP1面板为流式布局管理器

jp1.setLayout(new FlowLayout());

//将a1,b1,a2,b2四个控件添加到jp1面板中

jp1.add(a1);

jp1.add(b1);

jp1.add(a2);

jp1.add(b2);

jp1.add(a3);

//将a,b,c,d四个控件添加到jp2面板中

jp2.add(a);

jp2.add(b);

jp2.add(c);

jp2.add(d);

jp3.add(a3);

jp3.add(b3);

//将jp1,jp2,jp3三个面板添加到窗口中

add(jp1);

add(jp3);

add(jp2);

Object e;

a.addActionListener(new ActionListener()

//创建一个匿名的事件监听器

{

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

double x=Double.valueOf(b1.getText().toString());

//获取第一个输入数,并将其由String型转换成double型

double y=Double.valueOf(b2.getText().toString());

//获取第二个输入数,并将其由String型转换成double型

b3.setText(""+(x+y));

//将运算结果在b3这个文本框中显示

}

});

b.addActionListener(new ActionListener()

{

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

double x=Double.valueOf(b1.getText().toString());

double y=Double.valueOf(b2.getText().toString());

b3.setText(""+(x-y));

}

});

c.addActionListener(new ActionListener()//创建一个匿名的事件监听器

{

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

double x=Double.valueOf(b1.getText().toString());

double y=Double.valueOf(b2.getText().toString());

b3.setText(""+(x*y));

}

});

d.addActionListener(new ActionListener()//创建一个匿名的事件监听器

{

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

double x=Double.valueOf(b1.getText().toString());

double y=Double.valueOf(b2.getText().toString());

//因为0不能做除数,所以在这里需要进行判断

if(y==0)

{

b3.setText("错误");

}

else

{

b3.setText(""+(x/y));

}

}

});

//下面的是设置窗口的属性

this.setTitle("计算器");//设置窗口的标题

//this.setSize(400,400);//设置窗口的大小,也可以改成this.pack()

this.pack();

this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置关闭属性

this.setVisible(true);//设置窗口的可见性

}

public static void main(String[] args)//主函数

{

new MyClass();

}

}