J'utilise JInternalFrame pour voir une image de caméra, j'obtiens une image mais elle clignote/clignote très fréquemment, donc je peux à peine voir l'image. J'étend JFrame au lieu de JInternalFrame, tout fonctionne parfaitement bien. Peut-être que JInternalFrame fonctionne différemment de JFrame mais je n'arrive pas à comprendre le problème avec la mise à jour.JInternalFrame caméra image repaint issue
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) { }
}
}
}
}
utilisation 'swing Timer', au lieu de' '{Discussion loked par' Thread.sleep (30); ', plus dans les didacticiels Oracle sur EventDispatchThread – mKorbel