尝试将图像添加到JFrame

时间:2018-12-12 17:54:06

标签: java image jframe imageobserver

你好,我想将桌面上的图像添加到我创建的JFrame中,我已经导入了所有必需的函数和正确的变量,唯一的麻烦是图像观察器,我设置了x和y值代表我的图像,但它在我的drawImage组件中导致错误,它要求提供一个我不知道它是什么的图像观察器,并且如果我自动填充某些图像,我的图像也不会出现在我的JFrame中。如果你们中的一个可以看我的代码或回答图像观察者的工作,我将不胜感激

window.onclick = (event) => {
   if (event.target == this.modal) {
      this.close();
   }
}

}

错误是  添加参数以匹配'drawImage(Image,int,int,ImageObserver)'

2 个答案:

答案 0 :(得分:0)

ImageObserver是一个接口,具有用于处理图像加载状态通知的方法。可以根据需要使用它进行重新显示。 JFrameApplet都实现ImageObserver接口。

使用户了解有关一张图片

的加载情况
  • ImageObserver界面–启用监视加载过程,以便 加载后,可以通知用户并且可以尽快使用该图像。

  • 异步加载图像-如何知道何时准备好图像。

    • 图像已准备就绪– getImage()方法很早就返回了 关于图像的了解。

      imageUpdate(Image img, int infoflags, int x, int y, int width, int height)
      
  • 注意:java.awt.Component实现ImageObserver,所有子类都可以 好!

  • g.drawImage(imge, 0,0, this) -这是指ImageObserver实例。

  • imageUpdate() –必要时由ImageObserver调用。你不打电话 明确地!

    • 如果图像完整,则返回false
    • 如果图像不完整并且需要更新,则返回true
  • ImageObserver.ALLBITS = 32

  • 各种常量组合在一起形成infoflags参数,该参数指示 是否所有信息都可用。

    info flag table

答案 1 :(得分:0)

您可以通过将ImageObserver设置为null来跳过使用它 例如(使用Graphics2D)

g2.drawImage(Image texture, x, y, width, height, null);