나는 mouseClicks를 계산하려고하는데 왜 내 카운터가 매번 2 씩 증가하는지 이해할 수 없습니다. 시도한 getClickCount(), 그러나 그것은 또한 내가 필요로하지 않습니다.왜 내 mouseClicked() 카운터가 2 씩 증가합니까?
계산 후 내 목표 : 카운터를 사용하여 클릭 수에 따라 다른 것들을 칠합니다. 첫 번째와 두 번째는 항상 drawLine()에 대한 좌표를 가져오고 세 번째 클릭은 drawRect()를 가져옵니다.
package graphics_training_painting;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class U4 extends Canvas implements MouseListener{
private int x1;
private int y1;
private int x2;
private int y2;
private int counter = 0;
public U4() {
setBackground(Color.white);
}
public static void main(String[] args) {
U4 u = new U4();
JFrame f = new JFrame();
f.add(u);
f.setSize(800, 600);
f.setVisible(true);
}
@Override
public void mouseClicked(MouseEvent e) {
counter++;
System.out.println(counter);
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
/* x1 = e.getX();
y1 = e.getY();*/
}
@Override
public void mouseReleased(MouseEvent e) {
/* x2 = e.getX();
y2 = e.getY();
repaint();*/
}
public void paint(Graphics g) {
addMouseListener(this);
g.setColor(Color.blue);
g.drawLine(x1, y1, x2, y2);
}
}
도움이나 제안, 티미 당신에게 많이 감사합니다!
감사를 너 많이! 지금 흡수가 시작됩니다. :-) – TimmyPrograming