在JPanel中加载图像



我有一个JPanel(我使用netbeans创建的),我需要在其中加载图像,基于上一页的选择。有人能告诉我怎么做吗?还有,JPanel是我想做的最好的方法吗,或者我可以做其他事情?

感谢您的努力!

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

有许多方法在Java中read/load图像。看一下这个教程

这是一个演示如何在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);
    }
}

相关内容

  • 没有找到相关文章

最新更新