我有一个JPanel(我使用netbeans创建),我需要根据前一页的选择加载图像。任何人都可以建议如何做到这一点。 JPanel也是做我想做的最好的方式,或者我可以做别的事情吗?
努力表示赞赏!!
答案 0 :(得分:3)
Java中有read/load
个图像的方法有很多种。看看this教程。
答案 1 :(得分:3)
显示图像的最简单方法是使用JLabel
并调用其setIcon
方法(或其构造函数)。可以使用ImageIcon
类的构造函数之一加载图标。
有关示例,请参阅http://download.oracle.com/javase/tutorial/uiswing/components/label.html。
答案 2 :(得分:3)
这是演示如何在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);
}
}