我有一个非常简单的动画,一个大字体的文字不断(逐个像素)移动到左边.首先将文本转换为图像,然后启动定时器任务,重复(每10-20 ms)将图像的x坐标递减1,并进行重绘().

这个程序在某些系统上显示出一个奇怪的行为.在带有nVidia卡的电脑上,它运行顺利.在我的Vaio笔记本上,在一个BeagleBoneBlack和一个朋友的Mac上,它沉重地放下.看起来暂停一段时间,然后向左移动约10个像素,再次暂停等等.

什么困扰我的事实是,在这些系统上,如果您没有触摸鼠标,动画只会停留.只要您将鼠标光标移动到窗口内,无论多么缓慢,或者拖动窗口本身,动画运行顺利!

有人可以解释一下吗这是程序:

import java.awt.*;

import java.awt.image.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.util.*;

class Textimg extends JComponent

{

String str;

Font font;

int x = 0;

final int ytext = 136;

Image img;

public Textimg(String s)

{

str = s;

font = new Font("Noserif",Font.PLAIN,96);

setLayout(null);

}

protected void paintComponent(Graphics g)

{

if (img == null)

{

img = createImage(4800,272);

Graphics gr = img.getGraphics();

gr.setFont(font);

gr.setColor(Color.BLACK);

gr.fillRect(0,4800,272);

gr.setColor(new Color(135,175,0));

gr.drawString(str,ytext);

gr.dispose();

}

g.drawImage(img,x,this);

}

public void addX(int dif)

{

if (isVisible())

{

x = x + dif;

Graphics g = getGraphics();

if (g != null) paintComponent(g);

}

}

}

public class Banner extends JFrame

{

StringBuffer buf;

int sleeptime = 10;

Banner(String path) throws IOException

{

setSize(new Dimension(480,272));

setTitle("Java Test");

setDefaultCloSEOperation(EXIT_ON_CLOSE);

setLayout(null);

BufferedReader reader = new BufferedReader(

new InputStreamReader(new FileInputStream(path),"UTF-8"));

buf = new StringBuffer();

while (true)

{

String line = reader.readLine();

if (line == null) break;

buf.append(line);

}

final Textimg textimg = new Textimg(buf.toString());

add(textimg);

textimg.setBounds(0,480,272);

final javax.swing.Timer timer = new javax.swing.Timer(200,new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

textimg.addX(-1);

}

});

timer.setDelay(sleeptime);

timer.start();

}

//----------------------------------------------------------------------

public static void main(String[] args) throws Exception

{

new Banner(args[0]).setVisible(true);

}

}

Java如何隐藏控制按键动画_Java动画短片当不移动鼠标光标时相关推荐

  1. java 动画光标_Java动画短片当不移动鼠标光标时

    我有一个非常简单的动画,一个大字体的文字不断(逐个像素)移动到左边.首先将文本转换为图像,然后启动定时器任务,重复(每10-20 ms)将图像的x坐标递减1,并进行重绘(). 这个程序在某些系统上显示 ...

  2. java图形旋转动画_Java动画:旋转图像

    我将假设您了解如何旋转图像一次.如果你不这样做,你可以通过快速谷歌搜索找到它. 您需要的是一个为您旋转它的后台进程.它的工作原理如下: /** * Warning - this class is UN ...

  3. java生成html 控制编码方式_JAVA中文字符编码问题详解 控制台输出

    JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经 ...

  4. java爬虫隐藏表单提交_java爬虫--jsoup简单的表单抓取案例

    分析需求: 某农产品网站的农产品价格抓取 页面展示如上: 标签展示如上: 分析发现每日价格行情包括了蔬菜,水果,肉等所有的信息,所以直接抓每日行情的内容就可以实现抓取全部数据. 软件环境:eclips ...

  5. java搜索项目内的异常_java中用Lucene做搜索,在建索引时遇到的2个异常

    版本信息: jdk: 1.6 lucene: 3.2.0 情况是这样的,现在项目用lucene做搜索,我在服务器上跑了个后台线程用于建索引(每次最多从数据库中取出2w条),隔10分钟会跑一次,但是 隔 ...

  6. java线程等待按钮点击_java如何用多线程使线程在sleep时等待按钮按下?

    比如这是一个八皇后的程序packagecom.equeen;importjava.applet.Applet;importjava.awt.Button;importjava.awt.Color;im ...

  7. java的tey语句return了_Java中try、finally语句中有return时的执行情况

    在Java中当try.finally语句中包含return语句时,执行情况到底是怎样的,finally中的代码是否执行,大家众说纷纭,有的说会执行,有的说不会执行,到底哪种说法正确,现在通过下面的例子 ...

  8. java方法的调用怎么跳出_JAVA 的一个方法调用另一个方法时,怎么把那个方法里的数据调用出来...

    例如:此例子中Calcute()方法调用dispMax()方法时,怎么把curCost的数据调用到publicListgetBidListByName1(Stringname)中来,,,谢谢大家来帮忙 ...

  9. Unity Animation从UAS获取动画资产到编制状态机控制简单的人物动画

    Animation 动画 0.前言 这个笔记用于讨论在Unity中开发游戏时使用动画的相关知识. 这个笔记最终期望能够达到:在Unity的Demo中展现一个人物,其能够进行类似挥拳.开门的具体动作. ...

最新文章

  1. 照片换色 使用Python 或者 java
  2. html 物理引擎,在物理引擎中画圆弧
  3. 计算机由那几个基础部分组成,计算机的基本组成由哪些?
  4. 网络工程师成长日记365-IBIS西安工程回忆录
  5. 散射理论方程_非弹性中子磁散射方法简介之自旋波激发
  6. 4.1.6 OS之文件的基本操作原理(创建、删除、打开、关闭、读-写)
  7. libevent 源码阅读 Ubuntu下muduo库的安装与使用
  8. video.js html5 视频播放器
  9. Samba的配置与使用
  10. java编译运行_如何编译运行一个简单的java程序
  11. RS232接口芯片内部原理
  12. 1.数独游戏(生成题目解唯一)
  13. 学生a3制图标题栏尺寸手绘_AutoCAD教程之绘制图框和标题栏
  14. QT - 实例 - Qt实现局域网聊天工具软件
  15. wordpress无法上传图片至wp-conten/uploads
  16. 运营进阶:产品运营画布九要素
  17. 部署tomcat之appBase和docBase
  18. 使用Git管理多媒体文件
  19. color = { 国内新闻: ['#D8B221', '#EFE0A6'], 武汉交通: ['#E25E5B', '#E6B2B1']}
  20. 我的新浪微博欢迎大家互粉

热门文章

  1. bzoj4600 [Sdoi2016]硬币游戏 sg函数+结论
  2. bzoj 4942 整数 思考记录
  3. C语言模拟11答案,C语言模拟试题11答案.doc
  4. Tip: char *和char*的区别
  5. GPU并行计算OpenCL(3)——图像处理
  6. mqtt服务器收不到设备信息,在我的终端(mosquitto)上显示来自mqtt服务器的json消息...
  7. mysql 小写null 大写null_mysql中的null字段值的处理及大小写问题
  8. 自定义刻度_想为 Apple Watch 打造自定义表盘,试试这款 App
  9. 什么是 10x 程序员
  10. rocketmq 4.X 扩容思路