【发布时间】:2013-11-08 01:17:36
【问题描述】:
我正在尝试在 java 中将图像绘制到 JPanel 中,但我已经完成了,很好。我现在的问题是我正在尝试使其缩放到窗口的全尺寸,但它没有这样做。我尝试了一些方法,它们要么使图像消失,要么根本没有图形变化。
我目前正在使用的代码:
class ImagePanel extends JPanel {
private static final long serialVersionUID = 1L;
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);
}
}
完整课程:http://pastebin.com/CpcBt2j8
我尝试在img = img.getScaledInstance(440, 440, Image.SCALE_SMOOTH) 处添加代码,但没有任何效果。我还尝试制作一个名为scaledImg 的新图像并将img 的getScaledInstance 值设置为该值,这会完全从显示中删除图像。
如何将图像缩放到我想要的完整尺寸?
【问题讨论】:
标签: java image components