由于我是Java Swing
的新手,一旦我想创建一个JFrame
并从通过USB连接的网络摄像头捕获帧,然后在JFrame
上显示内容。为实现这一点,我阅读了一些帖子,并且根据帖子的建议,我创建了JLabel
并从网络摄像头捕获的每个帧我将其转换为图像并创建IconImage
并将其添加到JLabel
最后将JLabel
添加到JFrame
。结果是,只有第一个从网络摄像头拍摄的图像被拍摄并添加到JFrame
,而JFrame
上的图像从未改变,这不是我想要的。
在搜索和阅读之后,我发现要这样做,我必须创建一个扩展JPanel
并实现方法paintcomponent()
的类,并且我从网络摄像头捕获的每一帧都会传递给它扩展JPanel
并使用g.drawImage()
我的问题是,为什么我无法使用IconImage
频繁更改图像?
g.drawImage()
是JPanel
上显示图片的唯一方法吗?