Java之GUI 狂神說系列視訊總結(6)
阿新 • • 發佈:2020-12-25
簡易加法計算器
在此感謝Java狂神說!!
一、簡易加法計算器的實現
//這是我自己的包
package GUI;
//匯入必要的包
import java.awt.*;
import java.awt.event.*;
public class TestDemo {
public static void main(String[] args) {
new MyFrame3();
}
}
class MyFrame3 extends Frame{
//定義三個文字框
TextField num1,num2,num3;
//構造器
public MyFrame3(){
//給他們例項化 設定長度
num1 = new TextField(10);
num2 = new TextField(10);
num3 = new TextField(20);
//設定標籤
Label label = new Label("+");
//設定按鈕
Button button = new Button("=");
//設定佈局 為流式佈局
setLayout(new FlowLayout ());
//把元件全放在視窗上
add(num1);
add(label);
add(num2);
add(button);
add(num3);
button.addActionListener(new MyActionLiatenerw1(this));
setBounds(100,100,650,150);
setVisible(true);
}
}
//實現這個監聽
class MyActionLiatenerw1 implements ActionListener{
//這是計算器那個類
private MyFrame3 myFrame3 = null;
public MyActionLiatenerw1(MyFrame3 myFrame3){
this.myFrame3 = myFrame3;
}
@Override//監聽事件
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//得到文字框 1 和 2 的數並進行強制型別轉換
int number1 = Integer.parseInt(myFrame3.num1.getText());
int number2 = Integer.parseInt(myFrame3.num2.getText());
int number3 = number1 + number2;
//將這個數字給num3
myFrame3.num3.setText(""+number3);
//將num1 num2置空
myFrame3.num1.setText("");
myFrame3.num2.setText("");
}
}
二、使用內部類實現簡易加法計算器
//這是我自己的包
package GUI;
//匯入必要的包
import java.awt.*;
import java.awt.event.*;
public class TestDemo {
public static void main(String[] args) {
new MyFrame3();
}
}
class MyFrame3 extends Frame{
//定義三個文字框
TextField num1,num2,num3;
//構造器
public MyFrame3(){
//給他們例項化 設定長度
num1 = new TextField(10);
num2 = new TextField(10);
num3 = new TextField(20);
//設定標籤
Label label = new Label("+");
//設定按鈕
Button button = new Button("=");
//設定佈局 為流式佈局
setLayout(new FlowLayout());
//把元件全放在視窗上
add(num1);
add(label);
add(num2);
add(button);
add(num3);
button.addActionListener(new MyActionLiatenerw1());
setBounds(100,100,650,150);
setVisible(true);
}
class MyActionLiatenerw1 implements ActionListener{
@Override//監聽事件
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//得到文字框 1 和 2 的數並進行強制型別轉換
int number1 = Integer.parseInt(num1.getText());
int number2 = Integer.parseInt(num2.getText());
int number3 = number1 + number2;
//將這個數字給num3
num3.setText(""+number3);
//將num1 num2置空
num1.setText("");
num2.setText("");
}
}
}
結果如下:
總結:
上面兩種方法效果是一樣的,只不過內部類減少了程式碼的使用,但是看起來會更復雜。