gpt4 book ai didi

Java JFrame : Image not displayed

转载 作者:行者123 更新时间:2023-11-30 05:10:30 26 4
gpt4 key购买 nike

我正在尝试构建一个显示图像的小框架。

我的问题是,在 paint(Graphics g) 方法中,执行了 g.drawImage,但我的 RLFrame 上没有显示任何内容。

有什么想法/建议吗?

提前致谢。

这是代码

public class RLFrame extends JFrame{

Image img;
public RLFrame(String title){
super("testing");
}
public void run(){
MediaTracker mt = new MediaTracker(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400, 400);

this.img = Toolkit.getDefaultToolkit().getImage("maps/23bis.ppm");
mt.addImage(this.img, 1, 100, 100);
this.setVisible(true);
}


public void paint(Graphics g){
System.out.println("Paint");
if(img != null){
System.out.println("draw");
g.drawImage(img, 300, 300, this);
}
else
{
g.clearRect(0, 0, getSize().width, getSize().height);
}

}
}

最佳答案

在代码中使用 paintComponent(Graphics g) 而不是 paint(Graphics g)。类似的东西

protected void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println("Paint");
if (img != null) {
System.out.println("draw");
g.drawImage(img, 300, 300, this);
}
else
g.clearRect(0, 0, getSize().width, getSize().height);
}


将图像添加到 JPanel,然后将该 JPanel 实例添加到您的 RLFrame。

关于Java JFrame : Image not displayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3540424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com