📄 e.txt
字号:
/**
*可以用鼠标和键盘控制小球的移动
*练习鼠标和键盘的事件处理
**/
import java.awt.* ;
import java.awt.event.* ;
public class MyDraggedBall {
public static void main(String args[]){
Frame w = new Frame() ;
w.setSize(300 , 400) ;
MyPanel mp = new MyPanel() ;
w.add(mp) ;
w.addMouseMotionListener(mp) ;
mp.addMouseMotionListener(mp) ;
w.addKeyListener(mp) ;
mp.addKeyListener(mp) ;
w.show() ;
}
}
class MyPanel extends Panel implements MouseMotionListener, KeyListener{
int x = 30 ;
int y = 30 ;
public void paint(Graphics g) {
g.fillOval(x , y , 10 , 10) ;
}
public void mouseDragged(MouseEvent e) {
if(x >= 0 && x <= 282 && y >= 0 && y <= 356) {
x = e.getX() ;
y = e.getY() ;
}else{//out of border
if(x < 0) {
x = 0 ;
}
if(x > 282) {
x = 282 ;
}
if(y > 356){
y = 356 ;
}
if(y < 0) {
y = 0 ;
}
}
repaint() ;
}
public void mouseMoved(MouseEvent e) {
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == 37) {
if(x > 0) {
x -- ;
}
}
if(e.getKeyCode() == 38) {
if(y > 0) {
y -- ;
}
}
if(e.getKeyCode() == 39) {
if(x < 282) {
x ++ ;
}
}
if(e.getKeyCode() == 40) {
if(y < 356) {
y ++ ;
}
}
repaint() ;
}
public void keyReleased(KeyEvent e) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -