web-dev-qa-db-fra.com

Comment dessiner un cercle rempli en Java?

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.

16
Roman
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().

30
Roman
/***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);
13
M_R_K