0
我使用JInternalFrame查看攝像頭圖像,我得到一個圖像,但它非常頻繁地閃爍/眨眼,所以我幾乎看不到圖像。我擴展JFrame而不是JInternalFrame,一切正常。也許JInternalFrame與JFrame的工作方式不同,但我無法弄清楚更新的問題。JInternalFrame攝像頭圖像重繪問題
public class CameraView extends JInternalFrame{
private JPanel contentPane;
VideoCap videoCapture = new VideoCap();
public CameraView(){
setSize(400, 400);
setLocation(100, 100);
contentPane = new JPanel();
setContentPane(contentPane);
contentPane.setLayout(null);
new MyThread().start();
}
@Override
public void paint(Graphics g){
g = contentPane.getGraphics();
g.drawImage(videoCapture.getOneFrame(), 0, 0, this);
}
class MyThread extends Thread{
@Override
public void run() {
for (;;){
repaint();
try { Thread.sleep(30);
} catch (InterruptedException e) { }
}
}
}
}
使用'擺動Timer',而不是'主題{''通過了Thread.sleep loked(30 );',更多關於EventDispatchThread的Oracle教程 – mKorbel