我已经向你展示了类,它已经被另一个类调用,类扩展了JPanel,而这个类用于创建Rectangle,并且当它与另一个碰撞时具有属性。我想知道如何将图像添加到Rectangle。如果graphics2D无法添加图像,我想将其更改为标签或其工作的东西。请指导我
import java.awt.*;
import java.awt.image.BufferedImage;
public class Entity{
private int x;
private int y;
private int size;
private BufferedImage image;
public Entity(int x){
this.size = x;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public void setX(int x) {
this.x = x;
}
public void setY(int y) {
this.y = y;
}
public void setPosition(int x, int y){
this.x = x;
this.y = y;
}
public Rectangle getBound(){
return new Rectangle(x ,y,size, size);
}
public boolean isCollid(Entity e){
if (e == this) return false;
return getBound().intersects(e.getBound());
}
public void render(Graphics2D g2d){
g2d.fillRect(x, y, size, size);
}
}
答案 0 :(得分:0)
好吧,首先你必须在" src"下创建一个文件。叫"资源"。然后,将您要访问的所有图像放入该文件(资源)。然后,导入ImageIcon:
import javax.swing.ImageIcon;
接下来,使用所需的图像创建一个新的ImageIcon:
ImageIcon name = new ImageIcon("src/resources/[image name here, with the ".png"]");
最后,使用图标
创建一个新的JLabelJLabel name = new JLabel([ImageIcon name]);
然后用这个新的JLabel做任何你想做的事。如果JLabel没有出现,或者它只是停留在中间而你无法改变x / y位置,请提醒我,我会告诉你。希望这会有所帮助。