一个小java程序,用键盘的方向键控制小球移动
package com.ball;import java.awt.Color;import java.awt.Graphics;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JFrame;import javax.swing.JPanel;public class Ball { public static void main(String[] args) { JFrame myFrame= new JFrame("凯哥出版,翻版必究"); myFrame.setSize(300,400); MyPanel ma = new MyPanel(); myFrame.add(ma); //鼠标注册事件 myFrame.addKeyListener(ma); ma.addKeyListener(ma); //myFrame.setBackground(Color.red); //**** 1 **** myFrame.setLocation(500,100); //界面出现的位置,相对于电脑窗口 myFrame.setVisible(true); //设置界面可见,不写就默认隐藏, myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //点击关闭窗口可关闭,最右上角的叉 }}class MyPanel extends JPanel implements KeyListener{ int x = 100; //小球的初始X位置 int y= 100; //小球的初始Y位置 public void paint(Graphics g){ g.setColor(Color.WHITE); //背景颜色 //*** 2 ****** g.fillRect(0, 0, 300, 400); //重画背景<span style="white-space:pre"> </span>//***** 2 ***** g.setColor(Color.black); //球的颜色 g.fillOval(x, y, 60, 60); g.setColor(Color.blue); g.drawString("点击键盘的方向键控制小球移动", 50, 50); } @Override public void keyPressed(KeyEvent arg0) { if(arg0.getKeyCode()==KeyEvent.VK_LEFT){ //方向向左的 通常用这个方法 if(x>0){ //控制小球不出左边的边界 x=x-3; //按一次方向键移动3个像素 } } if(arg0.getKeyCode()==KeyEvent.VK_UP){ //点击向上 if(y>0){ y=y-3; } } if(arg0.getKeyCode()==KeyEvent.VK_RIGHT){ //点击向右 if(x<225){ x=x+3; } } if(arg0.getKeyCode()==KeyEvent.VK_DOWN){ //点击向下 if(y<300){ y=y+3; } } repaint(); } @Override public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub } @Override public void keyTyped(KeyEvent arg0) { //键盘组合键方法 // TODO Auto-generated method stub }}package com.ball;impo