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

JAVA 开发实例 一 移动的小球的更多相关文章

  1. Java开发实例大全:3月14日练习

    import java.io.FileNotFoundException; import java.io.PrintStream; import java.math.BigDecimal; impor ...

  2. [转贴]JAVA :RESTLET开发实例(一)基于JAX-RS的REST服务

    RESTLET介绍 Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架.它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务. Restlet项 ...

  3. Java Native Interface 基于JNI的嵌入式手机软件开发实例

    1.通过JNI和c/c++的库组件.其他代码交互 2.java和c不能互通的原因时数据类型问题 Introduction https://docs.oracle.com/javase/8/docs/t ...

  4. [转贴]JAVA:RESTLET开发实例(二)使用Component、Application的REST服务

    上一篇文章,我们介绍了基于JAX-RS的REST服务,本篇文章我们介绍不基于JAX-RS的模式.JAX-RS其实就是一个简单的 Application服务.和我们接下来介绍的Application基本 ...

  5. 如何自学 Java 开发

    如何自学 Java 开发? 568赞同反对,不会显示你的姓名 李艾米IT路上学习 568 人赞同 Java Web前端技术 HTML 入门视频课程 1 HTML 简介 2 HTML基本结构[ 3 HT ...

  6. Java编程思想重点笔记(Java开发必看)

    Java编程思想重点笔记(Java开发必看)   Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...

  7. 01 java开发前小知识

    1.常见的dos命令 盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录    注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. c ...

  8. Cocos2d-x 3.X手游开发实例详解

    Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...

  9. 20145213《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145213<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验要求 使用JDK编译.运行简单的Java程序. 使用IDEA编辑.编译.运行.调试J ...

随机推荐

  1. html常用笔记

    <?php //CSS可以对文本格式进行精确的控制 //HTML标记更有利于搜索引擎 //一.标签 <br> <p>//换行后插入一个空行,单字节不换行,双字节自动换行 ...

  2. 【英语】Bingo口语笔记(28) - 表示“秘密”

  3. Android使用绘图Path总结

    Path作为Android中一种相对复杂的绘图方式,官方文档中的有些解释并不是很好理解,这里作一个相对全面一些的总结,供日后查看,也分享给大家,共同进步. 1.基本绘图方法 addArc(RectF ...

  4. Android 使Volley完美支持自定义证书的Https

    其实在最早的版本里,Volley甚至是不支持https协议的,只能跑http,当然你也可以自己修改他的源码让他支持,如今volley的代码经过一些改进以后, 已经可以完美支持https协议了,无论是在 ...

  5. windows xp 安装mysql5.6.17-ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password

    .zip解压后没有setup 没有my.ini 1.安装方法 bin目录下执行以下: E:\mysql-5.6.17-win32\bin>mysqld install MySQL --defau ...

  6. notepad++采用正则表达式删除空行

    正则表达式匹配空行:  \s*$

  7. blender2.7.4安装three.js插件

    将three.js-master\utils\exporters\blender\addons 下面的io_three文件夹,拷贝到blender安装目录:blender-2.74-windows64 ...

  8. Hibernate查询出现java.lang.IllegalArgumentException异常解决方法

    Hibernate查询出现java.lang.IllegalArgumentException. 异常信息如下:java.lang.IllegalArgumentException        at ...

  9. 软件测试——boost单元测试 C++

    分类: 1. 下载安装Boost 2. 在vs2010 中设置   工具->选项->vc++目录   设置包含文件目录:找到解压的boost文件夹eg:C:\boost_1_43_03. ...

  10. JavaScript专业规则12条

    学习JavaScript是困难的.它发展的如此之快,以至于在任何一个特定的时刻,你都不清楚自己是否“做错了”.有些时候,感觉像是坏的部分超过了好的部分.然而,讨论这些并没有意义,JavaScript正 ...