工作时间,每一分、每一秒做有利于生产的事情。
首页 arrow 会员博客 arrow J2ME实现百叶窗效果

J2ME实现百叶窗效果 输出PDF 打印 E-mail
Author Author: jacky | Date Date: 2008-02-22 | View Count View: 2020 | section & Category 会员博客 -  个人博客

废话少说了,下面是实现代码:
public class Shutter extends Canvas implements Runnable {
    private Image img;
    private boolean isStopped;
    private int i;

    Shutter() {
        try {
            img = Image.createImage("/ken.png");
        }
        catch (IOException e) {
        }
        // 开始描绘线程
        new Thread(this).start();
    }

    /** 动画线程处理部分 */
    public void run() {
        i = 0;
        while ( !isStopped) {
            try {
                repaint(); // 再描绘
                Thread.sleep(100); // 等待一定时间
                i += 5;
                if ( i >= getWidth()) {
                    i = getWidth();
                    isStopped = true;
                }
            }
            catch (InterruptedException e) {
            }
        }
    }

    protected void paint(Graphics g) {
        g.setColor(0x00FFFFFF);
        g.fillRect(0, 0, getWidth(), getHeight());
       
        g.setClip(0, 0, 128, i);//从上到下显示
        g.drawImage(img, 0, 0, Graphics.LEFT | Graphics.TOP);
       
        g.setClip(0, 0, i, 128);//从左到右显示
        g.drawImage(img, 0, 0, Graphics.LEFT | Graphics.TOP);
       
        g.setClip(0,0,i,i);//从上到下从左到右显示
        g.drawImage(img, 0, 0, Graphics.LEFT | Graphics.TOP);
    }
}
因为简单,就用图片显示了,如果是屏幕的话需要将屏幕绘制到图片上,如:
     Image img = Image.createImage(width, height);
     Grahpics g = img.getGraphics();
     g.setColor(xxx);
     g.drawImage(...);
     ...



收藏到您的网摘: Google书签 Yahoo书签 雅虎收藏夹 365Key网摘 新浪ViVi 百度收藏 天极网摘 diglog 和讯网摘 POCO网摘 YouNote网摘 博拉网 天下图摘 spurl blogmarks BlinkList reddit digg Del.icio.us

本文关键字本文关键字: 百叶窗  效果  

阅读数: 2021 | 打印 | E-mail

  评论 (6)
RSS评论
 1 评论者 狼大帅, 时间 2008-04-25 14:21
不好,可移植性太差 
效果看起来也不怎么样!!!!!!!! 
 
再说你这也不是百叶窗效果啊!!!! 
这也就是一页窗啊!!!!!!! 
想想怎么做百叶窗吧
 2 评论者 狼大帅, 时间 2008-04-25 14:58
/** 动画线程处理部分 */ 
public void run() { 
 
while ( true) { 
try { 
repaint(); // 再描绘 
Thread.sleep(32); // 等待一定时间 

catch (InterruptedException e) { 



protected void paint(Graphics g) { 
i++; 
if(i>20)i=0;  
g.drawImage(img, 0, 0, 20); 
g.setColor(255); 
for(int j=0;j
 3 评论者 狼大帅, 时间 2008-04-25 15:04
public void run() {  
while ( true) {  
try {  
repaint(); // 再描绘  
Thread.sleep(32); // 等待一定时间  
}  
catch (InterruptedException e) {} }  
}  
protected void paint(Graphics g) {  
i++;  
if(i>20)i=0;  
g.drawImage(img, 0, 0, 20);  
g.setColor(255);  
for(int j=0;j
 4 评论者 狼大帅, 时间 2008-04-25 15:12
i++; 
if(i>20)i=0; 
g.drawImage(img, 0, 0, 20); 
g.setColor(255); 
for(int j=0;j
 5 评论者 狼大帅, 时间 2008-04-25 15:14
为什么我发上去之后会丢失一段文字啊!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!
 6 评论者 wupei, 时间 2008-04-28 12:56
恩?我试试

发表评论

姓名:
E-mail
您的网站/主页
标题:
评论:

验证码:* Code
若有人评论本文,请E-mail通知我。

(“天地不仁,以万物为刍狗”的真正意思) < 上一篇   下一篇 > (准备学习J2ME,这个网站不错)