1. 程式人生 > 其它 >4.監聽事件

4.監聽事件

1.按鈕監聽事件

這裡通過一個實現類重寫了按鈕的監聽事件,然後按鈕綁定了這個事件

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Dome1 {
   public static void main(String[] args) {
       Frame frame = new Frame("事件監聽");
       Button button = new Button("button");
       frame.add(button);
       frame.setVisible(true);
       frame.setBounds(500,500,500,500);

       MyButton myButton = new MyButton();
       button.addActionListener(myButton);//給按鈕新增這個事件
  }
}
//按鈕監聽事件~通過實現類來重寫按鈕監聽事件
class MyButton implements ActionListener{
   @Override
   public void actionPerformed(ActionEvent e) {
       System.out.println("按鈕監聽事件");
  }
}

 

2.把視窗關閉事件單獨抽取出來

private static void WindowsClos(Frame frame){
       frame.addWindowListener(new WindowAdapter() {
           @Override
           public void windowClosing(WindowEvent e) {
               System.exit(0);
          }
      });
  }

3.輸入框

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Dome2 {
   public static void main(String[] args) {
       //啟動
       MyFrame myFrame = new MyFrame();
  }
}
//建立視窗類
class MyFrame extends Frame{
   public MyFrame(){//建構函式
       TextField textField = new TextField();//例項化輸入框物件
       add(textField);//輸入框新增到視窗
       setVisible(true);//設定視窗可見性
       setBounds(500,500,500,500);//設定視窗座標,大小
       TextAAL textAAL = new TextAAL();
       textField.addActionListener(textAAL);
  }
}
//輸入框事件
class TextAAL implements ActionListener{
   @Override
   public void actionPerformed(ActionEvent e) {
       TextField textField = (TextField) e.getSource();//獲得鍵盤的一些資源 ,返回值:一個物件
       System.out.println(textField.getText());//列印輸入的文字內容
       textField.setText("");//清空輸入框

  }
}

 

注意:輸入框事件的 TextField textField = (TextField) e.getSource();//獲得鍵盤的一些資源 ,返回值:一個物件 是向下轉型

按下回車鍵,就會執行輸入框事件

通過 textField.setEchoChar('*'); 可以設定編碼,達到安全輸入的目的