通过方向键控制球的移动(练习5)

/*

*通过KeyListener接口来监听,通过repaint()来重画,最终实现由方向键来控制球的上下左右的移动

通过方向键控制球的移动(练习5) - lishirong - The CTO of LiShirong
 
以下是代码部分:↓

*/


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class ContralBall extends JFrame{
 ContralBall(){
  this.setSize(300,400);
  int width=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
  int height=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
  this.setLocation((width-300)/2,(height-400)/2);
  this.setUndecorated(true);//去掉边框的作用,实现JWindow的效果
  this.setVisible(true);
  this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
 }
 public static void main(String args[]){
  ContralBall cb=new ContralBall();
  MyMovingBall mmb=new MyMovingBall();
  mmb.setBackground(Color.orange);
  cb.add(mmb);
  cb.addKeyListener(mmb);
  mmb.addKeyListener(mmb);
  cb.show();
 }
}

class MyMovingBall extends Panel implements KeyListener{
 int x=140;
 int y=200;
 public void paint(Graphics g){
  g.setColor(Color.green);
  g.fillOval(x,y,20,20);
 }
 public void keyPressed(KeyEvent arg0) {
  // TODO Auto-generated method stub
  if(arg0.getKeyCode()==37)x--;
  if(arg0.getKeyCode()==38)y--;
  if(arg0.getKeyCode()==39)x++;
  if(arg0.getKeyCode()==40)y++;
  repaint();
 }

 public void keyReleased(KeyEvent arg0) {
  // TODO Auto-generated method stub
  
 }

 public void keyTyped(KeyEvent arg0) {
  // TODO Auto-generated method stub
  
 }
 
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值