想要将图像添加到我的程序中

时间:2018-04-20 05:25:07

标签: java image swing jpanel graphics2d

我已经向你展示了类,它已经被另一个类调用,类扩展了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);
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,首先你必须在" src"下创建一个文件。叫"资源"。然后,将您要访问的所有图像放入该文件(资源)。然后,导入ImageIcon:

import javax.swing.ImageIcon;

接下来,使用所需的图像创建一个新的ImageIcon:

ImageIcon name = new ImageIcon("src/resources/[image name here, with the ".png"]");

最后,使用图标

创建一个新的JLabel
JLabel name = new JLabel([ImageIcon name]);

然后用这个新的JLabel做任何你想做的事。如果JLabel没有出现,或者它只是停留在中间而你无法改变x / y位置,请提醒我,我会告诉你。希望这会有所帮助。