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);// 画圆
}
}
}
JAVA 开发实例 一 移动的小球的更多相关文章
- Java开发实例大全:3月14日练习
import java.io.FileNotFoundException; import java.io.PrintStream; import java.math.BigDecimal; impor ...
- [转贴]JAVA :RESTLET开发实例(一)基于JAX-RS的REST服务
RESTLET介绍 Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架.它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务. Restlet项 ...
- Java Native Interface 基于JNI的嵌入式手机软件开发实例
1.通过JNI和c/c++的库组件.其他代码交互 2.java和c不能互通的原因时数据类型问题 Introduction https://docs.oracle.com/javase/8/docs/t ...
- [转贴]JAVA:RESTLET开发实例(二)使用Component、Application的REST服务
上一篇文章,我们介绍了基于JAX-RS的REST服务,本篇文章我们介绍不基于JAX-RS的模式.JAX-RS其实就是一个简单的 Application服务.和我们接下来介绍的Application基本 ...
- 如何自学 Java 开发
如何自学 Java 开发? 568赞同反对,不会显示你的姓名 李艾米IT路上学习 568 人赞同 Java Web前端技术 HTML 入门视频课程 1 HTML 简介 2 HTML基本结构[ 3 HT ...
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- 01 java开发前小知识
1.常见的dos命令 盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. c ...
- Cocos2d-x 3.X手游开发实例详解
Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...
- 20145213《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
20145213<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验要求 使用JDK编译.运行简单的Java程序. 使用IDEA编辑.编译.运行.调试J ...
随机推荐
- linux下mysql操作的命令
最近在学习mysql,还是只菜鸟,找到下面篇文章对初学者挺有用的,所以共享下 1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql star ...
- SQL语句构建器类
问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句.这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中.正如你已经看到的那样,MyBatis ...
- Groovy获取json和xml数据
如果是xml就用这个 // to read a node from your Response def grUtils = new com.eviware.soapui.support.GroovyU ...
- eclipse 报错汇总
1.Eclipse 启动时,报错: Fail to create the java virtual machine 已解决.方法:eclipse.ini 中-vmargs-Dosgi.requir ...
- spring初探1
spring初探1 关于新建对象,对象依赖的三种方式比较 场景 某个交易的业务组建拆分,为原先的功能模块新写了一个业务组件 使用new. 修改上层代码的对象生成部分( 如果不是面向接口编程,简直就是灾 ...
- 使用FTP搭建YUM
VSFTP搭建YUM源 1.安装FTP [root@FTP kel]# rpm -qa |grep vsftp vsftpd-2.2.2-6.el6_0.1.x86_64 首先需要安装的ftp软件为v ...
- 数往知来SQL SERVER 视图 触发器 <九>
SQL server学习_视图 1.视图 视图其实是一张虚拟表,他是一张表的部分数据或多张表的综合数据(视图就是把SQL语句封装起来) 可以看做是一个结果集,但是不是一个结果集 视图不具备存储数据的能 ...
- android LocalActivityManager说明
类概述 Helper class for managing multiple running embedded activities in the same process. This c ...
- JavaScript之Object
两种简单的JavaScript中定义对象的方式: 在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性. var object=new object(); //alert(obj ...
- navigationController 之间的切换
项目要实现从一个Navigation 下push出的第N层controller后 立即切换到另一个 Navigation下 例如:在微信的通讯录Nav中选择一个好友,进入好友的详细资料,点击发消息按钮 ...