J'ai un JPanel avec une disposition de grille. Dans les "cellules" de la grille, je peux mettre différents éléments (par exemple JButtons). Il n'y a aucun problème avec cela. Mais maintenant, je veux mettre un cercle plein dans certaines cellules. Je voudrais également associer un ActionListener à ces cercles. Plus en détail, si je clique sur le cercle, il disparaît de la cellule actuelle et apparaît dans une autre. Comment puis-je le faire en Java? J'utilise Swing.
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
// Assume x, y, and diameter are instance variables.
Ellipse2D.Double circle = new Ellipse2D.Double(x, y, diameter, diameter);
g2d.fill(circle);
...
}
Voici quelques documents sur paintComponent ( link ).
Vous devez remplacer cette méthode dans votre JPanel et faire quelque chose de similaire à l'extrait de code ci-dessus.
Dans votre ActionListener, vous devez spécifier x, y, diameter
Et appeler repaint()
.
/***Your Code***/
public void paintComponent(Graphics g){
/***Your Code***/
g.setColor(Color.RED);
g.fillOval(50,50,20,20);
}
g.fillOval(x-axis,y-axis,width,height);