Impossible de comprendre comment afficher un seul cercle. Essayait de //g.clearRect(0, 0, 400, 400); mais cela efface l'arrière-plan aussi. Était également en train d'essayer de simplement remplir l'arrière-plan avec du jaune à nouveau, mais ne pouvait pas obtenir ce travail non plus. Aucune suggestion?Écran peint clair à chaque clic de la souris?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JMouseFrame extends JFrame
implements MouseListener {
Container con = null;
int x, y;
int size;
public JMouseFrame() {
setTitle("JMouseFrame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
con = this.getContentPane();
addMouseListener(this);
}
public void mousePressed(MouseEvent e) {
x = e.getX();
y = e.getY();
}
public void mouseClicked(MouseEvent e) {
int whichButton = e.getButton();
if (whichButton == MouseEvent.BUTTON1) {
size = 15;
} else if (whichButton == MouseEvent.BUTTON3) {
size = 4;
}
repaint();
}
public void mouseEntered(MouseEvent e) {
con.setBackground(Color.yellow);
}
public void mouseExited(MouseEvent e) {
con.setBackground(Color.black);
}
public void paint(Graphics g) {
//g.clearRect(0, 0, 400, 400);
g.drawOval(x - size, y - size, size * 3, size * 3);
}
public static void main(String[] args) {
JMouseFrame mFrame = new JMouseFrame();
mFrame.setSize(400, 400);
mFrame.setVisible(true);
}
public void mouseReleased(MouseEvent e) {
}
}
+1, pour le lien et le code. – camickr
Le programme doit afficher une JFrame qui effectue les opérations suivantes: arrière-plan devient jaune lorsque moust pénètre cadre, fond devient noir lorsque la souris quitte le cadre, Grand cercle au point de clic gauche, petit cercle au pont de clic droit, Je n'arrive pas à comprendre comment faire pour que le code que vous avez posté fonctionne avec ce que je dois faire pour que la dernière pièce soit faite en permettant seulement qu'un cercle soit peint à la fois. – Perd
@Perd: J'ai élaboré ci-dessus. Mon exemple 'étend MouseAdapter', alors que yours' implémente MouseListener', mais l'effet est le même. – trashgod