/**
* 畫布
* @time 11:23:53 AM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_MyCanvas implements KeyListener, MouseInputListener {
Canvas c;// 畫布
TextField tf;// 用於顯示提示信息的文本框
String s; // 用於存放按鍵信息的字符串
public static void main(String[] args) {
// 初始化幀
Frame frame = new Frame("Canvas");
// 初始化畫布
Test_MyCanvas test_MyCanvas = new Test_MyCanvas();
test_MyCanvas.c = new Canvas();
test_MyCanvas.tf = new TextField();
frame.add("South", test_MyCanvas.tf);
frame.add("Center", test_MyCanvas.c);
frame.setSize(300, 150);
test_MyCanvas.c.addMouseListener(test_MyCanvas);
test_MyCanvas.c.addKeyListener(test_MyCanvas);
frame.setVisible(true);
}
// 按鍵按下
public void keyPressed(KeyEvent e) {
}
// 按鍵抬起
public void keyReleased(KeyEvent e) {
tf.setText("keyReleased");
}
// 響應鍵盤事件
public void keyTyped(KeyEvent e) {
tf.setText("keyTyped");
s += e.getKeyChar();
c.getGraphics().drawString(s, 0, 20);
}
// 鼠標點擊
public void mouseClicked(java.awt.event.MouseEvent e) {
tf.setText("mouseClicked");
// 畫布取得焦點
c.requestFocus();
}
// 鼠標進入
public void mouseEntered(java.awt.event.MouseEvent e) {
tf.setText("mouseEntered");
}
// 鼠標退出
public void mouseExited(java.awt.event.MouseEvent e) {
tf.setText("mouseExited");
}
// 鼠標按下
public void mousePressed(java.awt.event.MouseEvent e) {
tf.setText("mousePressed");
}
// 鼠標松開
public void mouseReleased(java.awt.event.MouseEvent e) {
tf.setText("mouseReleased");
}
public void mouseDragged(java.awt.event.MouseEvent e) {
}
public void mouseMoved(java.awt.event.MouseEvent e) {
}
}