我的问题很容易解释:我想要一个/一些JPanels,添加到JFrame,用图像绘制自己.可悲的是,最后一件事不起作用.获取信息:图像路径正确,JPanel大小与图像大小相同.请求帮助:P
package frames;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import world.Terrain;
public class PanelTerrain extends JPanel {
private Image img;
private int x;
private int y;
private Image imga;
public PanelTerrain(Terrain terra, int x, int y) {
imga = new ImageIcon(terra.getPath()).getImage();
this.x = x;
this.y = y;
this.setBounds(x, y, 8, 8);
//this.setBackground(terra.getColor());
}
public void changeTerrain(Terrain t)
{
this.setVisible(false);
this.setBackground(t.getColor());
this.setVisible(true);
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(imga, x, y, this);
}
}
Run Code Online (Sandbox Code Playgroud)
我的第一个猜测是你传递了错误x而且y.The x和yin g.drawImage是左上角的坐标,而不是图像的大小,所以通常它们直接设置为0(这意味着,g.draWimage(imga, x, y, this).