package cn.stat.p3.windowdemo; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextField; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class shijiandemo { private Frame f; private TextField tf; private Button but; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new shijiandemo() ; } public shijiandemo() { super(); init(); } private void init() { f=new Frame("鼠標與鍵盤事件監聽"); f.setBounds(200,200,400,400); f.setLayout(new FlowLayout()); tf=new TextField(15); but=new Button("這是一個按鈕"); f.add(tf); f.add(but); f.setVisible(true); myevent(); } private void myevent() { //添加鍵盤事件 tf.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { // 設定只能輸入數字 int code=e.getKeyCode(); if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9)) { System.out.println("必須是數字"); e.consume(); } } }); //添加窗體事件 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } }); //添加鼠標事件 but.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if(e.getClickCount()==1) { tf.setText("單擊了"); } if(e.getClickCount()==2) { tf.setText("雙擊了"); } } private int count=0; @Override public void mouseEntered(MouseEvent e) { but.setLabel("鼠標觸發了"+count++); } }); } }