Ci-dessous le code est mon point de vue où je reçois un appareil photo en streaming. Les poignées du contrôleur définissent l'image et repeignent JInternalFrame. J'ai un problème avec cela parce que l'image de la caméra couvre l'ensemble JInternalFrame même la barre de titre. J'ai essayé d'utiliser JPanel mais j'ai eu des problèmes pour obtenir l'image sur le JPanel parce que j'étends JInternalFrame.JInternalFrame repeindre problème
public class CameraView extends JInternalFrame{
private BufferedImage image;
public CameraView(){
super("Camera", false,false,false, false);
setSize(500,500);
setLocation(200,200);
}
@Override
public void paint(Graphics g){
g.drawImage(image, 0, 0, null);
}
public void setImage(BufferedImage image){
this.image = image;
}
}
Voici à quoi cela ressemble. Pas de barre de titre.
Vous avez remplacé 'paint' sans appeler' super.paint', empêchant ainsi 'JInternalFrame' d'avoir l'opportunité de peindre ses propres décorations ou d'autres contenus. D'une manière générale, évitez de surcharger 'paint' et préférez' paintComponent', mais dans ce cas, vous pouvez juste ajouter un 'JLabel' au' JInternalFrame' et résoudre votre problème de façon complète – MadProgrammer