程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 上機題目(初級)- 鍵盤控制小球實例代碼(Java)

上機題目(初級)- 鍵盤控制小球實例代碼(Java)

編輯:JAVA綜合教程

上機題目(初級)- 鍵盤控制小球實例代碼(Java)


這裡實現鍵盤監聽,監聽上下左右四個按鍵,操控小球上下左右移動,代碼如下:

 

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KeyListenerDemo {

	public static void main(String[] args) {
		Frame frame = new Frame();
		frame.setSize(800, 800);
		frame.setBackground(Color.BLACK);
		MyPanel myPanel = new MyPanel();
		frame.add(myPanel);
		frame.addKeyListener(myPanel);
		myPanel.addKeyListener(myPanel);

		frame.show();

	}
}

class MyPanel extends Panel implements KeyListener {
	int x = 150;
	int y = 150;

	@Override
	public void paint(Graphics g) {
		g.setColor(Color.WHITE);
		g.fillOval(x, y, 20, 20);
	}

	@Override
	public void keyPressed(KeyEvent e) {
		if (e.getKeyCode() == 37) {
			x--;
		} else if (e.getKeyCode() == 38) {
			y -= 10;
		} else if (e.getKeyCode() == 39) {
			x += 10;
		} else if (e.getKeyCode() == 40) {
			y += 10;
		}
		repaint();// 不要忘了!!!!!

	}

	@Override
	public void keyReleased(KeyEvent e) {// 松開鍵盤,返回到起點
		x = 150;
		y = 150;
		repaint();

	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub

	}
}

松開鍵盤時小球回到起點,運行實例如下:

 

\

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved