Lập trình game java cơ bản - Vẽ hình lên frame

Xin chào các bạn, mấy ngày hôm nay bận chỉnh chu cái blog mà chưa có thời gian viết bài mới, mong các bạn thông cảm nha :p.

Hôm nay chung ta sẽ đi vào tìm hiểu cách load 1 hình ảnh lên frame (bài hôm trước chúng ta đã viết chữ lên frame được rồi đúng không nào.

Để thú vị ta sẽ vẽ hình chú chó nâu này nhé, các bạn có thể kiếm hình khác để vẽ :D
Rồi! Bài hôm trước chúng ta đã viết chữ lên frame bằng cách viết trực tiếp lên đối tượng JFrame, nhưng hôm nay chúng ta sẽ load hình lên đối tượng JPanel rồi sau đó mới add đối tượng này và JFrame của chúng ta để hiển thị. Với cách làm này thì ta sẽ vẽ lên JPanel xong xuôi đã rồi mới "dán" vào JFrame, và khi game chạy ta sẽ thấy nó "mượt" hơn :v (với game data nhiều mới thấy chứ load 1  đôi cái hình chắc cũng ko cảm nhận rõ lắm).

Chúng ta tiến hành tạo một thư mục để chứa hình ảnh, ở đây mình đặt tên là  "image ".

Bạn copy ảnh cần vẽ vào thư mục này.
Sau đó chúng ta sẽ tạo một class LoadImage kế thừa class JPanel.
Nhắc lại chút kiến thức trước: để kế thừa trong java ta dùng từ khóa extends.

Đầu tiên ở class LoadImage chúng ta sẽ khai báo 1 đối tượng:
private Image image;

Lưu ý: do Image là một lớp trừu tượng nên ta không thể tạo mới một đối tượng Image trực tiếp được.

Cho nên chúng ta sẽ cần dùng đến class ImageIcon (trong javadoc có nói qua về lớp này, bạn đọc để hiểu hơn, nôm na là nó sẽ load một hình, có thể từ đường dẫn chúng ta truyền vào, vv).

package com.blogspot.gameiter;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class LoadImage extends JPanel {
    private Image image;
    public LoadImage() {
      ImageIcon imageIcon = new ImageIcon("image/cho_nau.jpg");
      image = imageIcon.getImage();
    }
}
Đây là cách để ta tạo đối tượng Image, hiểu nôm na là thằng imageIcon sẽ load ảnh từ file name chúng ta truyền vào, sau đó thằng image sẽ lấy hình đó từ thằng imageIcon.

Tiếp theo là vẽ hình lên đối tượng JPanel.

Lớp JPanel có phương thức painComponent(Graphics g) lớp này có chức năng vẽ các thành phần lên container.

Mẹo: để gõ nhanh trên eclipse ta gõ vài chữ đầu phương thức cần override rồi  nhấn tổ hợp phím Ctrl + Space, eclipse sẽ gợi ý tất cả phương thức liên quan.
Ở đây khi nhấn Ctrl + Space các bạn sẽ thấy nó hiện ra những hai phương thức painComponent(Graphics g),nhưng các bạn lưu ý dùng phương thức có access modifier  là protected nhé. Do ở đây ta dùng JPanel, mà JPanel kế thừa từ JComponent, còn nếu ta dùng Panel thì sẽ dùng phương thức có
Tiếp tục :D...
Sau khi thêm code vẽ hình vào ta sẽ có:
package com.blogspot.gameiter;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class LoadImage extends JPanel {
    private Image image;
    public LoadImage() {
      ImageIcon imageIcon = new ImageIcon("image/cho_nau.jpg");
      image = imageIcon.getImage();
    }
    @Override
    protected void paintComponent(Graphics g) {
      g.drawImage(image, 100, 100, this); // Vẽ hình tại tọa độ (x, y) = (100, 100)
    }
    @Override
    public void paintComponents(Graphics g) {
      // Không dùng phương thức với JPanel
    }
}

Tham số this truyền vào ở đây có nghĩa là ta vẽ ngay trên JPanel LoadImage.
Xong, rất đơn giản để load hình đúng không nào các bạn. Bây giờ ta tạo 1 đối tượng JFrame và add nó vào chạy thử thôi :
Bài hôm nay kết thúc ở đây, xin chào và hẹn gặp lại các bạn :D.
SHARE

Xuho

  • Image
  • Image
  • Image
  • Image
  • Image

32 comments:

  1. ad ơi cho mình hỏi mình có tải ảnh vào file project trong máy nhưng lúc mở eclipse lên thì k thấy

    ReplyDelete
  2. 123bet mang đến trải nghiệm cá cược trực tuyến an toàn, giao diện dễ dùng cùng nhiều trò chơi hấp dẫn. Đăng ký nhanh, nạp rút tiện lợi và nhận ưu đãi mỗi ngày dành cho thành viên mới.
    Website: https://123bett.io/
    Địa chỉ: 86-549 Đ. Vĩnh Khánh, Khánh Hội, Hồ Chí Minh, Vietnam
    Điện thoại: 0938493847
    Email: 123bettio@gmail.com
    Hashtag: #123bet #123betoi #game123bet #trangchu123bet #link123bet

    ReplyDelete
  3. Hitclub là cổng game bài đổi thưởng đỉnh cao châu Á. Sân chơi uy tín với tỷ lệ nạp rút 1:1 siêu tốc, hệ thống chăm sóc khách hàng chuyên nghiệp hoạt động 24/7.
    Website: https://hitclub1.dev/
    Địa chỉ: 2 Trần Khắc Chân, Tân Định, Hồ Chí Minh, Vietnam
    Điện thoại: 0938938293
    Email: hitclub1dev@gmail.com
    Hashtag: #hitclub #hitclub1dev #taiapphitclub #apphitclub #trangchuhitclub

    ReplyDelete
  4. Vn88 cập nhật link vào mới nhất không bị chặn. Đăng ký tài khoản ngay hôm nay để trải nghiệm kho game đổi thưởng phong phú từ bắn cá, slot game đến các giải đấu thể thao đỉnh cao toàn cầu.
    Website: https://vn88.rehab/
    Địa chỉ: Hẻm 764 Phạm Văn Chiêu, Phường 15, Gò Vấp, Hồ Chí Minh, Việt Nam
    Điện thoại: 0383 033 149
    Email: vn88rehab@gmail.com
    Hashtag: #vn88 #vn88rehab #trangchuvn88 #linkvn88 #taivn88

    ReplyDelete
  5. Đăng ký tài khoản 789Club cá cược thả ga, nhận ngay code 50k trải nghiệm game bài, nổ hũ độc quyền. Hệ thống nạp rút tự động siêu tốc 1:1, hỗ trợ người chơi 24/7. Tham gia ngay!
    Website: https://kgsr.cn.com/
    Địa chỉ: 19 Nguyễn Tuân, Phường Thanh Xuân, Hà Nội, 100000, Việt Nam
    Điện thoại: 0974 744 788
    Email: 789clubb@gmail.com
    Hashtag: #789clubweb #789clubios #789clubtaixiu #tai789club #789clubandroid #789clubapk #game789club #789clubgame #789clubconggamedoithuong #taigame789club apk #gamebai789club #taigame789clubios #789clubdoithuong24/7 #bet789club

    ReplyDelete
  6. vin777 cung cấp link truy cập chính thức không bị chặn cùng hệ thống bảo mật tuyệt đối. Đăng ký tài khoản hôm nay để nhận ngay code tân thủ trải nghiệm các siêu phẩm nổ hũ, bắn cá cực hấp dẫn.
    Website: https://vin777.porn/
    Địa chỉ: 91, 41/12 Đ. T8, Tây Thạnh, Hồ Chí Minh 700000, Vietnam
    Điện thoại: 0928 378 973
    Email: vin777.porn@gmail.com
    Hashtag: #vin777 #vin777porn #trangchuvin777 #nhacaivin777 #linktaivin777

    ReplyDelete
  7. Vin777 cung cấp link đăng nhập chính thức không bị chặn, bảo mật thông tin tuyệt đối. Sân chơi cá cược xanh chín, tỷ lệ ăn thưởng cao nhất thị trường và hỗ trợ người chơi chuyên nghiệp 24/7.
    Website: https://vin777.town/
    Địa chỉ: 219 Phan Xích Long, Phường 7, Phú Nhuận, Hồ Chí Minh 700000, Việt Nam
    Điện thoại: 0921 679 642
    Email: contact@vin777.town
    Hashtag: #vin777 #vin777town #trangchuvin777 #nhacaivin777 #linktaivin777

    ReplyDelete
  8. HB88 cung cấp link đăng ký và đăng nhập mới nhất không bị chặn. Tham gia trải nghiệm giao diện mượt mà, bảo mật tuyệt đối và hệ thống nạp rút tiền siêu tốc chỉ trong 3 phút.
    Website: https://hb88.us.com/
    Địa chỉ: 115 Võ Duy Ninh, Phường 22, Bình Thạnh, Hồ Chí Minh, Việt Nam
    Điện thoại: 0941 761 168
    Email: contact@hb88uscom
    Hashtag: #hb88 #hb88uscom #trangchuhb88 #linktaihb88 #gamehb88

    ReplyDelete
  9. Vn88 cung cấp link vào mới nhất không bị chặn, giao diện thuần Việt thân thiện. Tham gia trải nghiệm cá cược bóng đá, nổ hũ, bắn cá cực hấp dẫn cùng hệ thống nạp rút siêu tốc trong 3 phút.
    Website: https://vn88.ceo/
    Địa chỉ: Hẻm 764 Phạm Văn Chiêu, Phường 15, Gò Vấp, Hồ Chí Minh, Việt Nam
    Điện thoại: 0388 033 149
    Email: vn88ceo@gmail.com
    Hashtag: #vn88 #vn88ceo #trangchuvn88 #linkvn88 #taivn88

    ReplyDelete
  10. Win55 cong game doi thuong xanh chin voi hang loat sieu pham ca cuoc: The thao, Casino, Ban ca, No hu. Giao dich nap rut tien sieu toc trong 2 phut va bao mat thong tin an toan tuyet doi.
    Website: https://win55.voto/
    Dia chi: 14 Ng. 129 P. Thien Hien, My Dinh, Nam Tu Liem, Ha Noi, Viet Nam
    Dien thoai: 0972 945 766
    Email: win55.voto@gmail.com
    Hashtag: #win55, #win55_casino, #win55_game, #win55_cong_game

    ReplyDelete
  11. Sonclub cập nhật link tải app chính thức cho điện thoại iOS và Android mới nhất. Tải ngay để khám phá giao diện mượt mà, bảo mật an toàn cùng hệ thống hỗ trợ 24/7.
    Website: https://sonclub.academy/
    Địa chỉ: 117 Hồng Hà, Tân Bình, Hồ Chí Minh, Việt Nam
    Điện thoại: 0904 130 505
    Email: sonclubacademy@gmail.com
    Hashtag: #sonclub #son_club #conggamesonclub #gamebaisonclub #trangchusonclub #linksonclub

    ReplyDelete
  12. go88 khẳng định vị thế cổng game bài đổi thưởng đẳng cấp quốc tế. Hệ thống bảo mật tối tân, nạp rút siêu tốc 1:1 và dịch vụ hỗ trợ khách hàng 24/7 mang lại trải nghiệm giải trí đỉnh cao.
    Website: https://go88bet.in.net/
    Địa chỉ: 30 Tân Sơn Nhì, Hồ Chí Minh, Vietnam
    Điện thoại: 0947 379 830
    Email: go88betinnet@gmail.com
    Hashtag: #go88 #go88betinnet #linktaigo88 #trangchugo88 #taigo88

    ReplyDelete
  13. sunwin20 Play cập nhật link tải app Sunwin cho Android và iOS mới nhất. Sân chơi cá cược đẳng cấp hoàng gia với hệ thống bảo mật tuyệt đối, nạp rút 1:1 nhanh chóng trong 3 phút.
    Website: https://sunwin20.health/
    Địa chỉ: 299 Phan Bội Châu, Bàn Thạch, Đà Nẵng, Việt Nam
    Điện thoại: 0901 031 205
    Email: contact@sunwin20.health
    Hashtag: #sunwin #conggamesunwin #conggamedoithuongsunwin #sunwin20health #sunwin20 #sunwincom #taisunwin

    ReplyDelete
  14. For88 cập nhật link vào trang chủ chính thức mới nhất không lo bị chặn. Nạp rút tiền cấp tốc, bảo mật tuyệt đối thông tin người chơi cùng hệ thống chăm sóc khách hàng chuyên nghiệp hỗ trợ 24/7.
    Website: https://for88.science/
    Địa chỉ: 5 Đường 1D, An Lạc, Hồ Chí Minh, Việt Nam
    Điện thoại: 0908 201 105
    Email: for88science@gmail.com
    Hashtag: #for88 #for_88 #nhacaifor88 #trangchufor88 #linkfor88chinhthuc #for88science

    ReplyDelete
  15. Ga6789 link vào hệ thống an toàn và bảo mật hàng đầu hiện nay. Đăng ký tài khoản nhanh chóng, tải app mượt mà trên mọi thiết bị và tận hưởng kho trò chơi giải trí vô cùng phong phú.
    Website: https://ga6789.com.se/
    Địa chỉ: 112/10 Đ. Thống Nhất, Thông Tây Hội, Hồ Chí Minh, Việt Nam
    Điện thoại: 0397 064 230
    Email: hotro@levelinkelectro.nl
    Hashtag: #ga6789 #nhacaiga6789 #trangchuga6789 #linkga6789

    ReplyDelete
  16. 88go cung cấp đường link tải ứng dụng chính thức, mượt mà trên cả hai hệ điều hành Android và iOS. Tải app ngay để nhận nhiều ưu đãi hấp dẫn và tham gia các trò chơi yêu thích dễ dàng.
    Website: https://88go.com.mx/
    Địa chỉ: 5 Ba Đình, Chánh Hưng, Hồ Chí Minh, Việt Nam
    Điện thoại: 0584 856 308
    Email: 88go@gmail.com
    Hashtag: #88go #conggame88go #trangchu88go #linkvao88go

    ReplyDelete
  17. Sky88 cung cấp đường link truy cập chính thức không bị chặn mới nhất 2026. Nạp rút tiền siêu tốc 1:1, bảo mật thông tin tuyệt đối và hỗ trợ khách hàng 24/7. Trải nghiệm đẳng cấp cá cược ngay!
    Website: https://sky88w.vip/
    Địa chỉ: 2/47/111 P. Lâm Hạ, Tổ 23, Bồ Đề, Hà Nội, Việt Nam
    Điện thoại: 0984 432 000
    Email: sky88wvip@gmail.com
    Hashtag: #sky88 #trangchusky88 #nhacaisky88 #linkvaosky88

    ReplyDelete
  18. K9CC cung cấp link truy cập an toàn, mượt mà và không lo bị chặn. Trải nghiệm dịch vụ chăm sóc khách hàng chuyên nghiệp 24/7, nạp rút tiền siêu tốc cùng hàng ngàn phần thưởng giá trị đang chờ đón bạn khám phá!
    Website: https://k9cc.com.se/
    Địa chỉ: 56 Ngách 322/76 Mỹ Đình, Từ Liêm, Hà Nội, Việt Nam
    Điện thoại: 0963 721 947
    Email: k9cccomse@gmail.com
    Hashtag: #k9cc #nhacaik9cc #trangchuk9cc #linkvaok9cc #k8cc #nhacaik8cc #trangchuk8cc #linkvaok8cc

    ReplyDelete
  19. WW88 cập nhật link vào nhà cái chính thức mới nhất không lo bị chặn. Nạp rút tiền siêu tốc, bảo mật tuyệt đối thông tin khách hàng. Tham gia ngay hôm nay để nhận nhiều khuyến mãi hấp dẫn cho hội viên!
    Website: https://ww88.com.im/
    Địa chỉ: P. Thiên Hiền/16 Tdp Số 10, Nhân Mỹ, Từ Liêm, Hà Nội, Việt Nam
    Điện thoại: 0966 752 298
    Email: ww88comim@gmail.com
    Hashtag: #ww88 #nhacaiww88 #trangchuww88 #linkvaoww88 #linkww88chinhthuc

    ReplyDelete
  20. 188BET cung cấp dịch vụ cá độ bóng đá, casino online uy tín hàng đầu Châu Á. Tham gia ngay hôm nay để trải nghiệm giao diện hiện đại, nạp rút tiền siêu tốc và dịch vụ hỗ trợ khách hàng 24/7.
    Website: https://188bet.org.vc/
    Địa chỉ: 481 An Dương Vương, An Đông, Hồ Chí Minh, Việt Nam
    Điện thoại: 0987 654 321
    Email: admin188bet@gmail.com
    Hashtag: #188bet #nhacai188bet #trangchu188bet #linkvao188bet #link188betmoinhat

    ReplyDelete
  21. Xocdia88 cập nhật đường link truy cập chính thức không bị chặn. Hệ thống hỗ trợ khách hàng 24/7 chuyên nghiệp, đảm bảo mọi giao dịch thanh toán diễn ra nhanh chóng và an toàn tuyệt đối.
    Website: https://xocdia88.com.se/
    Địa chỉ: 221c Nguyễn Trọng Tuyển, Phú Nhuận, Hồ Chí Minh, Việt Nam
    Điện thoại: 0815 709 983
    Email: hotroxocdia88@gmail.com
    Hashtag: #xocdia88 #nhacaixocdia88 #trangchuxocdia88 #linkvaoxocdia88 #linkxocdia88moinhat

    ReplyDelete
  22. 88BET cập nhật link truy cập chính thức không bị chặn. Đăng ký tài khoản ngay hôm nay để nhận ưu đãi chào mừng 88K miễn phí và trải nghiệm hệ thống cá cược an toàn, bảo mật tuyệt đối cho mọi người chơi.
    Website: https://88bet.com.im/
    Địa chỉ: 650/45 Điện Biên Phủ, Tổ 55 Khu phố 6, Vườn Lài, Hồ Chí Minh, Việt Nam
    Điện thoại: 0977 621 963
    Email: 88betcomim@gmail.com
    Hashtag: #88bet #88betcomim #nhacai88bet #linkvao88bet #trangchu88bet #dangnhap88bet

    ReplyDelete
  23. Cập nhật link vào Luck8 chính thức mới nhất không bị chặn. Truy cập Luck8 để tham gia cá độ thể thao, casino trực tuyến mượt mà, tốc độ cao cùng hệ thống nạp rút tiền tự động siêu nhanh trong 2 phút.
    Website: https://luck8.contact/
    Địa chỉ: 26 Đường số 1, Khu dân cư Trung Sơn, Bình Hưng, Hồ Chí Minh, Việt Nam
    Điện thoại: 0985512678
    Email: luck8contact@gmail.com
    Hashtag: #Luck8 #luck8contact #tailuck8

    ReplyDelete
  24. zowin.supply - Tải app chính thức ngay hôm nay để nhận ngay giftcode trải nghiệm miễn phí. Cổng game hỗ trợ nạp rút đa kênh qua ngân hàng, ví điện tử và thẻ cào nhanh chóng, uy tín và minh bạch 24/7.
    Website: https://zowin.supply/
    Địa chỉ: 236/18 Đ. Khương Đình, Tổ 3, Khương Đình, Hà Nội, Vietnam
    Điện thoại: 0937 299 890
    Email: zowinsupply@gmail.com
    Hashtag: #zowin #zowinsupply #trangchuzowin #gamezowin #zowincasino

    ReplyDelete
  25. debet.poker cung cấp link truy cập chính thức không bị chặn, giao diện mượt mà và tỷ lệ kèo bóng đá cạnh tranh nhất thị trường. Nạp rút tiền siêu tốc 24/7, hỗ trợ người chơi tận tâm và chuyên nghiệp.
    Website: https://debet.poker/
    Địa chỉ: 64 Trần Phú, TP. Quy Nhơn, Bình Định
    Điện thoại: 0576 281 594
    Email: lienhe@debet.poker
    Hashtag: #debet #debetpoker #debetnhacai #debetlink #cacuocdebet

    ReplyDelete
  26. Vin777 cung cap lien ket truy cap khong bi chan moi nhat 2026. Tham gia ca cuoc the thao, song bac truc tuyen, ban ca, no hu voi ty le hoan tra sieu hap dan va he thong nap rut sieu toc.
    Website: https://vin777.de.com/
    Dia chi: 219 Phan Xich Long, Phuong 7, Phu Nhuan, Ho Chi Minh 700000, Viet Nam
    Dien thoai: 0921 679 642
    Email: vin777decom@gmail.com
    Hashtag: #vin777 #vin777decom #trangchuvin777 #nhacaivin777 #linktaivin777

    ReplyDelete
  27. Vin777 - Link vao trang chu chinh thuc khong bi chan. Dang ky tai khoan hom nay de nhan ngay khuyen mai trai nghiem cuc khung va co hoi rinh qua tang nap dau len den 100% gia tri.
    Website: https://vin777.tel/
    Dia chi: 219 Phan Xich Long, Phuong 7, Phu Nhuan, Ho Chi Minh 700000, Viet Nam
    Dien thoai: 0921 679 642
    Email: vin777.tel@gmail.com
    Hashtag: #vin777 #vin777tel #trangchuvin777 #nhacaivin777 #linktaivin777

    ReplyDelete
  28. Sv388 - Link vao he thong da ga Thomo truc tiep khong bi chan. Cung cap ty le cuoc hap dan, nap rut tien nhanh chong trong 3 phut va bao mat thong tin nguoi choi tuyet doi an toan.
    Website: https://sv388.pink/
    Dia chi: 191A D. Pham Phu Thu, Phuong 4, Quan 6, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 637 280
    Email: contact@kamerazzi.tv
    Hashtag: #sv388 #nhacaisv388 #trangchusv388 #sv388loan

    ReplyDelete
  29. Sv388 cap nhat link dang nhap chinh thuc khong bi chan moi nhat. Tham gia san choi da ga cua sat, cua dao chuyen nghiep voi ty le hoan tra sieu hap dan va he thong nap rut tien sieu toc.
    Website: https://sv388.app/
    Dia chi: 91A D. Pham Phu Thu, Phuong 4, Quan 6, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 637 280
    Email: contact@sv388.app
    Hashtag: #sv388 #nhacaisv388 #trangchusv388 #sv388loan

    ReplyDelete
  30. Cap nhat link tai Sonclub chinh thuc khong bi chan danh cho Android va iOS. Cong game Son club mang den he thong bao mat toi tan, nap rut 1:1 sieu toc va dich vu ho tro khach hang 24/7 uy tin.
    Website: https://sonclub.games/
    Dia chi: 5B/1 D. Quang Trung, Phuong 11, Go Vap, Ho Chi Minh, Viet Nam
    Dien thoai: 0912 467 321
    Email: contact@eatmail.tv
    Hashtag: #sonclub #sonclubgames #trangchusonclub #linktaisonclub #taisonclub

    ReplyDelete
  31. C54 - Link truy cap chinh thuc khong bi chan. Tham gia ngay san choi giai tri dang cap quoc te, he thong nap rut sieu toc trong 30 giay cung dich vu ho tro khach hang chuyen nghiep 24/7.
    Website: https://c54.earth/
    Dia chi: 3 Duong Dinh Nghe, Phuong 8, Quan 11, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 573 286
    Email: contact@analcam.tv
    Hashtag: #c54 #nhacaic54 #trangchuc54 #nhacaic54

    ReplyDelete
  32. Sv388 cung cap link vao da ga truc tiep khong bi chan moi nhat. Tham gia ngay de theo doi cac tran da ga cua sat Thomo dinh cao va nhan nhieu phan qua hap dan tu nha cai.
    Website: https://sv388.art/
    Dia chi: 191A D. Pham Phu Thu, Phuong 4, Quan 6, Ho Chi Minh, Viet Nam
    Dien thoai: 0918 637 280
    Email: contact@sv388.art
    Hashtag: #sv388 #nhacaisv388 #trangchusv388 #sv388loan

    ReplyDelete