J'ai une toile et à l'intérieur de la toile j'ai une webcam. En plus de l'image vidéo, je veux placer un «bouton» et attacher un événement, de sorte que j'ai le contrôle pour l'écran plein et le réduis au minimum. Mais cette méthode donne une erreur, comment le réparer?Comment ajouter un bouton dans un canevas?
public static void main(String[] args)
{
JFrame frame = new JFrame("Overlay");
frame.setBackground(Color.RED);
// Canvas, to have a video and on top a button
final Canvas canvas = new Canvas();
Button button = new Button(canvas); // ERROR
button.setBounds(10,10, 100, 40);
canvas.setPreferredSize(new Dimension(200, 200));
// Layout
JPanel content = new JPanel(new GridLayout(2,2));
content.add(canvas);
content.add(new JButton("test")); // for empty cell
// Show
frame.add(content);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
// Third party tools to capture the webcam, and plugin to our canvas
final Video video = player.getElementByName("gl");
XOverlay.wrap(video).setWindowID(canvas);
}
Le message d'erreur est tout à fait explicite. Ce constructeur n'existe pas. Vous devez d'abord créer le bouton puis l'ajouter à un conteneur (btw canvas n'est pas un conteneur). Et vous mélangez les composants swing et awt. Faites très attention à ce que vous faites. – Howard