1. 程式人生 > >java swing學習筆記二(畫布Canvas)

java swing學習筆記二(畫布Canvas)

/**
 * 畫布
 * @time 11:23:53 AM
 * @author retacn yue
 * @Email  [email protected]
 */
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) {


}


}