Kĩ thuật khung hình phụ• Giải thích lý do nháy:• Mỗi lần gọi repaint() thì update() được gọi • update() xoá nội dung cửa sổ và gọi paint()• Khắc phục:• Vẽ hình vào một khung hình phụ trong bộ nhớ thay vì vẽ trực tiếp ra màn hình. • Khi vẽ xong, khung hình phụ được hiển thị ra màn hình trong phương thức paint(). •
Nội dung trích xuất từ tài liệu:
Lập trình Java cơ bản : Lập trình GUI (Applet) part 7Kĩ thuật khung hình phụ• Ví dụ về sự di chuyển “bị nháy”import java.applet.Applet;import java.awt.*;public class DemoMove1 extends Applet{ private int x = 50; private int y = 50; public void paint(Graphics g) { if (x > 300) x = 50; g.fillOval(x, y, 100, 100); delay(100); move(); } 31Kĩ thuật khung hình phụ• Ví dụ về sự di chuyển “bị nháy” public void delay(int milisecond) { try { Thread.sleep(milisecond); } catch (Exception e) {} } public void move() { x += 5; repaint(); // ve lai cua so }} 32Kĩ thuật khung hình phụ• Giải thích lý do nháy: • Mỗi lần gọi repaint() thì update() được gọi • update() xoá nội dung cửa sổ và gọi paint()• Khắc phục: • Vẽ hình vào một khung hình phụ trong bộ nhớ thay vì vẽ trực tiếp ra màn hình. • Khi vẽ xong, khung hình phụ được hiển thị ra màn hình trong phương thức paint(). • Nạp chồng update() để tránh việc xoá nội dung cửa sổ. 33Kĩ thuật khung hình phụ• Giải pháp//...public class DemoMove2 extends Applet{ //... private Image offImage; private Graphics offGraphics; public void init() { // tao khung hinh phu offImage = createImage(500, 500); // lay doi tuong do hoa de ve vao khung hinh phu offGraphics = offImage.getGraphics(); } 34Kĩ thuật khung hình phụ• Giải pháp public void paint(Graphics g) { //... offGraphics.clearRect(0, 0, 500, 500); offGraphics.fillOval(x, y, 100, 100); g.drawImage(offImage, 0, 0, this); //... } public void update(Graphics g) { paint(g); } //...} 35
Lập trình Java cơ bản : Lập trình GUI (Applet) part 7
Số trang: 5
Loại file: pdf
Dung lượng: 73.70 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tìm kiếm theo từ khóa liên quan:
lập trình java kinh nghiệm lập trình java kỹ thuật lập trình java hướng dẫn lập trình java tài liệu lập trình java lý thuyết lập trình javaTài liệu có liên quan:
-
Excel add in development in c and c phần 9
0 trang 124 0 0 -
Program C Ansi Programming Embedded Systems in C and C++ phần 4
12 trang 104 0 0 -
265 trang 93 0 0
-
81 trang 93 0 0
-
Lập trình Java cơ bản : GUI nâng cao part 3
6 trang 88 0 0 -
Nghiên cứu hệ thống báo cháy ứng dụng cảm biến nhiệt hồng ngoại và camera
4 trang 62 0 0 -
Giáo trình Lập trình mạng - ThS. Văn Thiên Hoàng
201 trang 60 0 0 -
67 trang 51 0 0
-
Code Division Multiple Access (CDMA) phần 10
19 trang 42 0 0 -
Mô tả công việc lập trình viên Java
1 trang 40 0 0