读书人

JAVA 开发范例 一 移动的小球

发布时间: 2013-10-17 17:26:17 作者: rapoo

JAVA 开发实例 一 移动的小球

package com.java.move;import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.GraphicsConfiguration;import java.awt.HeadlessException;import java.awt.Toolkit;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.*;/* * * author : deng_hui_long  * Date   : 2013-10-16 * */public class TextMove extends JFrame {private int width = 500;// 窗口的宽度private int height = 500;// 宽口的高度private Toolkit took = null;// 将各个组件绑定private TextPanel textPanel = null;public static void main(String[] args) {new TextMove().show();}public TextMove() {setTitle("移动的小球");took = Toolkit.getDefaultToolkit();Dimension dm = took.getScreenSize();// 获取屏幕的 宽度和高度int swidth = (dm.width - this.width) / 2;int sheight = (dm.height - this.height) / 2;setLocation(swidth, sheight);// 窗口居于屏幕中间setSize(width, height);// 设置窗体的大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭textPanel = new TextPanel(10, 10);// 面板add(textPanel);// 添加面板addKeyListener(new Keyent());// 添加键盘事件}// 键盘事件class Keyent extends KeyAdapter {@Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == KeyEvent.VK_UP) {// 上textPanel.y -= 5;} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {// 下textPanel.y += 5;} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {// 左textPanel.x -= 5;} else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {// 右textPanel.x += 5;}textPanel.repaint();// 重新绘图}}// 继承面板在面板上绘图class TextPanel extends JPanel {// 继承面板int x;int y;public TextPanel(int x, int y) {this.x = x;this.y = y;}public void paint(Graphics g) {// 在面板上绘图super.paint(g);g.setColor(Color.black);// 设置画笔的颜色g.fillOval(x, y, 20, 20);// 画圆}}}

读书人网 >编程

热点推荐