繁体   English   中英

在JPanel中加载图像

[英]loading image in a JPanel

我有一个JPanel(我使用netbeans创建),我需要根据前一页的选择加载图像。 任何人都可以建议如何做到这一点。 JPanel也是做我想做的最好的方式,或者我可以做别的事情吗?

努力表示感谢!!

有许多方法可以用Java read/load图像。 看一下教程。

显示图像的最简单方法是使用JLabel并调用其setIcon方法(或其构造函数)。 可以使用ImageIcon类的一个构造函数加载图标。

有关示例,请参见http://download.oracle.com/javase/tutorial/uiswing/components/label.html

这是一个示例代码,演示如何在JPanel加载图像; background.jpg是我们加载到JPanel的图像。 另请注意,此图像应在源中可用。

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ImageTest {

    public static void main(String[] args) {
        ImagePanel panel = new ImagePanel(
            new ImageIcon("background.jpg").getImage());

        JFrame frame = new JFrame();
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

class ImagePanel extends JPanel {

    private Image img;

    public ImagePanel(String img) {
        this(new ImageIcon(img).getImage());
    }

    public ImagePanel(Image img) {
        this.img = img;
        Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
    }

    public void paintComponent(Graphics g) {
        g.drawImage(img, 0, 0, null);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM