Java计算器课程设计报告

导入Java . awt . *;

导入Java . awt . event . *;

导入javax . swing . *;//指南包

类MyClass扩展了JFrame

//创建继承JFrame框架的window类的MyClass类。

//也就是说JFrame中的所有功能都可以通过MyClass来实现。

{

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

//创建显示第一个数字的标签。

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

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

JTextField b 1 = new JTextField(5);

//创建一个默认长度为5的文本框,用于输入操作号,也可以默认为空。

JTextField B2 = new JTextField(5);

JTextField B3 = new JTextField(5);

//创建一个标签来显示操作结果,或者创建一个标签来显示操作结果。

JButton a = new JButton(" plus ");

//创建一个用于加法计算的按钮,点击时添加。

JButton b = new JButton(" MINUS ");

JButton c = new JButton(" multiply ");

JButton d = new JButton(" divide ");

JPanel jp 1 = new JPanel();//创建用于放置控件的面板。

JPanel jp2 = new JPanel();

JPanel jp3 = new JPanel();

MyClass()//构造函数,用于初始化。

{

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

jp 1 . set layout(new FlowLayout());//将JP1面板设置为流式布局管理器。

jp 1 . set layout(new FlowLayout());

//向jp1面板添加四个控件A1、B1、A2和B2。

jp 1 . add(a 1);

jp 1 . add(b 1);

jp 1 . add(a2);

jp 1 . add(B2);

jp 1 . add(a3);

//在jp2面板上添加A、B、C、D四个控件。

jp2 . add(a);

jp2 . add(b);

jp2 . add(c);

jp2 . add(d);

jp3 . add(a3);

jp3 . add(B3);

//向窗口添加三个面板JP1、JP2和JP3。

添加(jp 1);

添加(jp3);

添加(jp2);

对象e;

a.addActionListener(新的ActionListener()

//创建匿名事件侦听器

{

@覆盖

public void action performed(action event e){

// TODO自动生成的方法存根

double x = double . value of(b 1 . gettext()。toString());

//获取第一个输入数字,并将其从字符串转换为double。

double y = double . value of(B2 . gettext()。toString());

//获取第二个输入数字,并将其从字符串转换为double。

B3 . settext("+(x+y));

//在文本框b3中显示运算结果。

}

});

b.addActionListener(新的ActionListener()

{

@覆盖

public void action performed(action event e){

// TODO自动生成的方法存根

double x = double . value of(b 1 . gettext()。toString());

double y = double . value of(B2 . gettext()。toString());

B3 . settext("+(x-y));

}

});

c . addactionlistener(new action listener()//创建匿名事件侦听器。

{

@覆盖

public void action performed(action event e){

// TODO自动生成的方法存根

double x = double . value of(b 1 . gettext()。toString());

double y = double . value of(B2 . gettext()。toString());

B3 . settext("+(x * y));

}

});

d . addactionlistener(new action listener()//创建一个匿名事件侦听器。

{

@覆盖

public void action performed(action event e){

// TODO自动生成的方法存根

double x = double . value of(b 1 . gettext()。toString());

double y = double . value of(B2 . gettext()。toString());

//因为0不能除尽,所以这里需要判断。

如果(y==0)

{

B3 . settext(" error ");

}

其他

{

B3 . settext("+(x/y));

}

}

});

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

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

//this.setSize(400,400);//设置窗口的大小,或者改成this.pack()。

this . pack();

this . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);//设置关闭属性

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

}

公共静态void main (string [] args)//main函数

{

new my class();

}

}