Java - Hiển thị hình ảnh trên JFrame.(load image on jframe)



Bài viết này sẽ hướng dẫn cách code để hiển thị một hình ảnh trên JFrame trong ngôn ngữ lấp trình JAVA.

Hướng dẫn này mô tả một cách đơn giản để tải một GIF bên ngoài, PNG hình ảnh định dạng JPEG tập tin vào đại diện hình ảnh bên trong Java 2D ™ 's.

Lưu ý một số hình ảnh đặc biệt sẽ không được hỗ trợ trong bài viết này như Tiff Multiply, Raw, Pan, IFF-RGFX . . .





Dưới đây là toàn bộ code cơ bản để hiển thị hình ảnh trên JFrame(load image on jframe)
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package basicloadimageapp;

import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
import java.awt.Dimension;

/**
* This class demonstrates how to load an Image from an external file
*/
public class BasicLoadImageApp extends Component {

BufferedImage img;

@Override
public void paint(Graphics g) {
g.drawImage(img, 0, 0, null);
}

public BasicLoadImageApp() {
try {
img = ImageIO.read(new File("C:\\Users\\bnson\\Desktop\\Working\\001.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}

@Override
public Dimension getPreferredSize() {
if (img == null) {
return new Dimension(100, 100);
} else {
return new Dimension(img.getWidth(null), img.getHeight(null));
}
}

public static void main(String[] args) {

JFrame f = new JFrame("Load Image Sample");

f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

f.add(new BasicLoadImageApp());
f.pack();
f.setVisible(true);
}

}

Mổ tả một số hàm và câu lệnh trong mã code trên:
  • img = ImageIO.read(new File("Path Image")) : Tải hình ảnh lên java thong qua "Path Image".
  • public void paint(Graphics g): Một hàm bắt buộc trong java nếu bạn sử dụng đến image, hiểu đơn giản hàm này dùng để vẽ lại hình ảnh được cung cấp trên ứng dụng của Java.
  • public Dimension getPreferredSize(): Một hàm dùng để xác định kích thước của JFrame sẽ trùng với kích thược của hình được hiển thị(load).

Sau khi mã code được thực thi(Run) thì kết quả sẽ như hình bên dưới.


Nếu có gì sai sót, rất mong có sự đóng góp của bạn cho bài viết.














9 comments:

  1. anh ơi cho em hỏi chút là sao lúc em chạy chương trình của anh thì nó chỉ hiện ra màn hình trắng ở giao diện thôi ạ?

    ReplyDelete
    Replies
    1. hinh anh cua ban ơ dau danh la code cua anh ấy mà

      Delete
  2. anh ơi cho em hỏi chút là sao lúc em chạy chương trình của anh thì nó chỉ hiện ra màn hình trắng ở giao diện thôi ạ?

    ReplyDelete
    Replies
    1. ban quăng code lên mình xem thử nha.

      Delete
    2. kỳ ta anh đã test lại rùi ko có vấn đề gì hết, nó có báo lỗi gì không em?

      Delete
    3. do cái ảnh của bạn chưa copy vào file code, phải copy paste ảnh vào file cùng file src, build .... thì nó mới có ảnh mà xài chứ

      Delete
  3. anh ơi cho em hỏi anh có bài nói về hàm cắt ảnh trong java không ạ?

    ReplyDelete
    Replies
    1. ko em, anh chưa viết bài nào như vậy, tuy nhiên em có thể thao khảo thêm tại http://alvinalexander.com/java/java-image-how-to-crop-image-in-java. Good luck ^^!

      Delete