1. 程式人生 > 其它 >Java之GUI 狂神說系列視訊總結(6)

Java之GUI 狂神說系列視訊總結(6)

技術標籤:Java初學及進階guijava

簡易加法計算器

在此感謝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("");
		}	
	}
		
}

結果如下:

在這裡插入圖片描述

總結:

上面兩種方法效果是一樣的,只不過內部類減少了程式碼的使用,但是看起來會更復雜。