打印
[项目外包]

JAVA代码实现小功能

[复制链接]
484|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wubin1987119|  楼主 | 2019-3-27 17:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
价格:100 元
1. 文件夹中存有多幅.bmp格式的图,在Java中,循环调用repaint()显示这些图片,来显示动画效果。
代码如下, 方法一的问题是sleep必须足够长(要求不大于50ms),否则有些图会被跳过去不被显示。方法二的延迟短,但是问题是屏幕闪烁。有没有办法使其中一个满足要求。
方法一:
public void paint(Graphics g){
   super.paint(g);
    while(condition){   

g.drawImage(//...修改下一次显示的图片  


try {   


     Thread.sleep(50);   


  } catch(InterruptedException ex) {}   


repaint();  


}  



方法二:
         new Thread(new Runnable(){
             public void run(){
                  for( int pic=0; pic<picNum; pic++ ){
                   //...修改下一次显示的图片号
                   Done = false;
                  repaint();
                   while(!Done) {     //重写paint()时,会把它设置为true,保证每幅图都显示
                       Thread.sleep(10);
                   }
                   }
             }).start();




2. 双显示器,想在第二个显示屏全屏显示动画,以下代码运行不稳定,有时候图像框并不显示。
   this.setUndecorated(true);                                //全屏显示
   GraphicsDevice[] devices = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
   devices[0].setFullScreenWindow(this);


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

0

粉丝