主函式:
1 package tion; 2 3 import java.util.*; 4 import java.applet.*; //引入Applet類 5 import java.awt.*; 6 import java.awt.event.*; //引入系統事件類包。 7 public class ta extends Applet implements ActionListener{//定義類的同時實現動作事件監聽介面。 8 Label label1,label2,label3,label4; //宣告四個標籤物件。 9 TextField tf1; //宣告一個文字框物件 10 TextArea area; //宣告一個文字區域物件 11 Button bt1,bt2; //宣告兩個按鈕物件 12 double lb2=0.0; 13 int s=0; 14 int a=0; 15 int b=0; 16 int y=0; 17 int z=0; 18 //s儲存總題數;a儲存答對的題數;b儲存答錯的題數。 19 20 public void init(){ //初始化。 21 label1=new Label(); //建立一個沒有顯示內容的物件。 22 label2=new Label(); 23 label3=new Label(); 24 label4=new Label("="); //建立一個顯示內容為“=”的物件。 25 tf1=new TextField(8); 26 area=new TextArea(13,40);//建立一個13行40列的文字區。 27 bt1=new Button("計分"); //建立一個顯示標題為“計分”的按鈕。 28 bt2=new Button("重來"); 29 add(label1); 30 add(label2); 31 add(label3); 32 add(label4); 33 add(tf1); 34 add(area); 35 add(bt1); 36 add(bt2); 37 this.setSize(400, 150); 38 //利用順序佈局,增加各元件。 39 tf1.addActionListener(this); 40 bt1.addActionListener(this);bt2.addActionListener(this); //將this註冊為ft1、bt1、bt2的單擊事件兼聽器。 41 label1.setText(String.valueOf((int)(Math.random()*10))); 42 label3.setText(String.valueOf((int)(Math.random()*10)));//隨機產生兩個10以內的整數並分別顯示在標籤1、3上。 43 lb2=(Math.random()); //隨機產生一個0~1以內的小數。 44 if (lb2>=0 && lb2<=0.25) 45 label2.setText("+"); 46 else if (lb2>0.25 && lb2<=0.5) 47 label2.setText("-"); 48 else if (lb2>0.5 && lb2<=0.75) 49 label2.setText("*"); 50 else if (lb2>0.75 && lb2<=1) 51 label2.setText("/"); 52 } 53 //if 語句用於控制隨機顯示“+、-、*、/”四個運算子。 54 55 Init init=new Init(); 56 57 @Override 58 public void actionPerformed(ActionEvent e) { 59 // TODO Auto-generated method stub 60 61 } 62 }
測試封裝:
1 package tion; 2 3 import java.util.*; 4 import java.applet.*; //引入Applet類 5 import java.awt.*; 6 import java.awt.event.*; //引入系統事件類包。 7 public class ta extends Applet implements ActionListener{//定義類的同時實現動作事件監聽介面。 8 Label label1,label2,label3,label4; //宣告四個標籤物件。 9 TextField tf1; //宣告一個文字框物件 10 TextArea area; //宣告一個文字區域物件 11 Button bt1,bt2; //宣告兩個按鈕物件 12 double lb2=0.0; 13 int s=0; 14 int a=0; 15 int b=0; 16 int y=0; 17 int z=0; 18 //s儲存總題數;a儲存答對的題數;b儲存答錯的題數。 19 20 public void init(){ //初始化。 21 label1=new Label(); //建立一個沒有顯示內容的物件。 22 label2=new Label(); 23 label3=new Label(); 24 label4=new Label("="); //建立一個顯示內容為“=”的物件。 25 tf1=new TextField(8); 26 area=new TextArea(13,40);//建立一個13行40列的文字區。 27 bt1=new Button("計分"); //建立一個顯示標題為“計分”的按鈕。 28 bt2=new Button("重來"); 29 add(label1); 30 add(label2); 31 add(label3); 32 add(label4); 33 add(tf1); 34 add(area); 35 add(bt1); 36 add(bt2); 37 this.setSize(400, 150); 38 //利用順序佈局,增加各元件。 39 tf1.addActionListener(this); 40 bt1.addActionListener(this);bt2.addActionListener(this); //將this註冊為ft1、bt1、bt2的單擊事件兼聽器。 41 label1.setText(String.valueOf((int)(Math.random()*10))); 42 label3.setText(String.valueOf((int)(Math.random()*10)));//隨機產生兩個10以內的整數並分別顯示在標籤1、3上。 43 lb2=(Math.random()); //隨機產生一個0~1以內的小數。 44 if (lb2>=0 && lb2<=0.25) 45 label2.setText("+"); 46 else if (lb2>0.25 && lb2<=0.5) 47 label2.setText("-"); 48 else if (lb2>0.5 && lb2<=0.75) 49 label2.setText("*"); 50 else if (lb2>0.75 && lb2<=1) 51 label2.setText("/"); 52 } 53 //if 語句用於控制隨機顯示“+、-、*、/”四個運算子。 54 55 Init init=new Init(); 56 57 @Override 58 public void actionPerformed(ActionEvent e) { 59 // TODO Auto-generated method stub 60 61 } 62 }
沒有太多的時間去寫程式碼,所以用了以前的作業進行修改,封裝技術還是會帶來一些便利的。