Java - Hiển thị hình ảnh bằng ImageIcon và JLabel (Display image by ImageIcon and JLabel).

Bài viết này sẽ hướng dẫn cách hiển thị một hình ảnh bằng cách sửa dụng lớp ImageIcon và JLable của java.


DisplayImageOnLabel.java
--
/**
 * @(#)DisplayImageOnLabel.java
 *
 * DisplayImageOnLabel application
 *
 * @author BUI NGOC SON
 * @version 1.00 2013/11/15
 */

import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import javax.swing.SwingUtilities;

public class DisplayImageOnLabel extends JPanel {
   
    public DisplayImageOnLabel() {
        ImageIcon icon = createImageIcon("D:/VNLIVES.NET.jpg", "a pretty but meaningless splat");
        JLabel label1 = new JLabel(icon);    
        add(label1);
    }
   
    /** Returns an ImageIcon, or null if the path was invalid. */
    protected static ImageIcon createImageIcon(String path, String description) {
        String imgPath = path;
        if (imgPath != null) {
            return new ImageIcon(imgPath, description);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
   
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("LabelDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Add content to the window.
        frame.add(new DisplayImageOnLabel());

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }       
   
    public static void main(String[] args) {
        //Schedule a job for the event dispatch thread:
        //creating and showing this application's GUI.
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
        //Turn off metal's use of bold fonts
            UIManager.put("swing.boldMetal", Boolean.FALSE);
               
        createAndShowGUI();
            }
        });
    }
}

















3 comments:

  1. anh ơi anh có bài nói về việc cắt ảnh trong java đưa vào ma trận các nút và sử dụng hàm random 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
    2. Anh ơi, anh chỉ em cách setsize ảnh lúc load lên label được không

      Delete