Java Applet 实现一个半径不断增大的彩色小球动画
作为Applet程序的一个入门,我们今天探讨一下如何实现一个半径不断增大的小球动画,正如下图所示。
设计的关键思想:
我们需要设定一个小球的圆心坐标,最好是在窗口的中央,然后令小球的半径不断增大,不断的重绘,以实现小球的增大动画。
设计方案:
我们要绘制小球,就用到了一个Graphics类,Graphics类有绘制的功能。
然后再设计一个线程专门用来控制动画的播放,我们重载run()方法,在其中实现小球半径的增加,以及调用窗体的重绘函数,每隔一定时间重绘窗体。
接下来实现paint(Graphics g)函数,来绘制一个彩色圆球,这个函数中要做的就很简单了,用特定的颜色覆盖一个一定大小的圆形区域
下面就是源代码
import java.awt.*;
import java.applet.Applet;
import javax.swing.JApplet;
public class Circle extends JApplet implements Runnable{
int x;//圆心x坐标 为x-r/2
int y;//圆心y坐标 为y-r/2
int r;//半径
private Image img;
private Graphics graph;
public void init(){
Dimension de = this.getSize();
x = de.height/2;
y = de.width/2;
r = 1;
};
public void start(){
//定义一个线程
Dimension de = this.getSize();
x = de.height/2;
y = de.width/2;
r = 1;
Thread animation = new Thread(this);
animation.start();
}
public void stop(){
}
public void destroy(){
}
public void run(){
Dimension de1 = this.getSize();
while(true){
r += 1;
if(r>(de1.height/2)||r>(de1.width/2)){
r = 1;;
}
repaint();
try
{
// 暂停线程30毫秒
Thread.sleep (30);
}
catch (InterruptedException ex)
{
}
}
}
public void paint (Graphics g) {
//设置球的颜色
g.setColor (Color.PINK);
// 从x-r/2,y-r/2位置处画一个实心的圆
g.fillOval(x-r/2,y-r/2,r,r);
}
//双缓冲机制
public void update (Graphics g)
{
// 初始化buffer
if (img == nul
相关文档:
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......
一、安装
创建安装目录,在/usr/java下建立安装路径,并将文件考到该路径下:
# mkdir /usr/java
1、jdk-6u11-linux-i586.bin 这个是自解压的文件,在linux上安装如下:
# chmod 755 jdk-6u11-linux-i586.bin
# ./jdk-6u11-linux-i586.bin
在按提示输入yes后,jdk被解压。
出现一行字:Do you aggree to the ......
替换字节数组流和管道流
文档选项
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16"
he ......
参考网上的一些资料,自己研读了一番,用java构造了一个二叉树类,并带有测试的main方法,如有不足请大家多多指教。
/**
* 二叉树构造算法
* 二叉树定义:是度为2的有序树,它的特点是每个节点至多有两棵子树
* 我们的算法就是根据二叉树的递归定义而来,下面是二叉树的递归定义:
* n(n>=0)个节点的有限集。它 ......
java线程池技术浅析
为什么要用线程池?
诸如Web服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都有面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如HTTP、FTP或POP)、通过JMS队列或者可能通过轮询数据库。不管请求如何达到,服务器应用程 ......