2 nhận xét

ý tưởng

làm 1 tấm ảnh có cảm giác đang chạy trong JFrame
- lợi dụng khả năng lưu ảnh cuả mắt , ta làm như sau : tại vị trĩ x,y ta vẽ 1 hình , sau chu kì T ta xóa nó rồi vẽ nó ở chỗ x+i,y+i
- viết applet, dùng hàm paint( Graphics g), repaint() để vẽ lại , dùng Thread để vết chu kì

ví dụ mẫu

import java.awt.Graphics;
import javax.swing.ImageIcon;
import java.applet.Applet;
import java.awt.BorderLayout;
public class Heart extends Applet{
    private ImageIcon heart;
    private static int x = 10;   
    private Tuyen1 t ;
    public void init(){
        heart = new ImageIcon("heart.png");
        t = new Tuyen1();
        setLayout(new BorderLayout());       
    }    
    public void start(){
        t.start();
    }
    public void paint(Graphics g){
        heart.paintIcon(this,g,x,10);
    }
    public static void main(String[] args) {
           Heart it = new Heart();
    } 
    public class Tuyen1 extends  Thread{
        public void run(){
             try {
                        sleep( 1*1000);
                    }catch (InterruptedException e) {}
            while(true){
                while ( x <500){    
                    x +=4;                   
                    try {
                        sleep( 1*50);
                    }catch (InterruptedException e) {}
                        repaint();
                }   
                while ( x >10){    
                    x -=4;                   
                    try {
                        sleep( 1*50);
                    }catch (InterruptedException e) {}
                        repaint();
                }                  
            }
        }
    }    
}

mời gọi

mong các bạn cho đánh giá khuyết điểm và đưa ra giải thuật hay hơn.

2 nhận xét:

try {
sleep( 1*1000);
}catch (InterruptedException e) {}

Đoạn trên dùng làm j vậy? Không nên catch exception mà không làm j cả :)

Tại sao dùng 3 lệnh while. Thử xài 1 lệnh thôi.
Good luck !

lúc 19:06 12 tháng 7, 2011 comment-delete

try {
sleep( 1*1000);
}catch (InterruptedException e) {}
dùng để chuản bị 1 giây trước khi bắt đầu choa quả tim chạy. hiện tại chưa nghĩ ra cách dùng 1 while

lúc 00:14 13 tháng 7, 2011 comment-delete
Đăng nhận xét

Copyright 2011 learn java.
Blogger Template by Noct. Free Download Blogger Template