古詩詞大全網 - 成語大全 - java 計算器課程設計報告

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();

}

}