java小球移动_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 {

@Override

public 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);// 画圆

}

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值