Java - Animacion para que desplaze una bola a un lugar del jpanel cuando doy click izquierdo

 
Vista:

Animacion para que desplaze una bola a un lugar del jpanel cuando doy click izquierdo

Publicado por j (25 intervenciones) el 29/03/2017 22:44:27
Buenas tardes alguien me puede ayudar a que una bola se desplaze a un lugar del jpanel cuando doy click izquierdo, pero que no aparezca de una vez ahi, sino que se vea el recorrido de la bola, utilizando Hilos, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Animacion para que desplaze una bola a un lugar del jpanel cuando doy click izquierdo

Publicado por Andrés (340 intervenciones) el 30/03/2017 03:00:21
Estaba ocupado, sorry :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
 
/**
 *
 * @author andreas
 */
public class Bolas extends JFrame implements MouseListener {
 
    private int x1 = 0;
    private int y1 = 0;
 
    class AnimaBolasThread extends Thread {
 
        private double x2;
        private double y2;
 
        public AnimaBolasThread(double x2, double y2) {
            this.x2 = x2;
            this.y2 = y2;
        }
 
        public void run() {
 
            double deltaX = x2 - x1;
            double deltaY = y2 - y1;
 
            final double numSteps = 15;
            double incStepX = Math.abs(deltaX) / numSteps;
 
            incStepX *= deltaX > 0 ? 1 : -1;
 
            double m = deltaY / deltaX;
 
            double b = y1 - m * x1;
 
            for (int i = 1; i < numSteps + 1; i++) {
 
                x1 += incStepX;
                double y = m * x1 + b;
 
                y1 = (int) y;
 
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        repaint();
                    }
                });
 
                try {
                    Thread.sleep(150);
                } catch (InterruptedException ex) {
                    Logger.getLogger(Bolas.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
 
        }
 
    }
 
    public Bolas() {
        setSize(800, 800);
        setLocation(100, 100);
        addMouseListener(this);
        setVisible(true);
    }
 
    public void paint(Graphics g) {
 
        super.paintComponents(g);
 
        g.setColor(Color.RED);
 
        g.fillOval(x1, y1, 100, 100);
 
    }
 
    public static void main(String argv[]) {
        Bolas c = new Bolas();
    }
 
    @Override
    public void mouseClicked(MouseEvent e) {
 
        (new AnimaBolasThread(e.getX(), e.getY())).start();
 
    }
 
    @Override
    public void mousePressed(MouseEvent e) {
    }
 
    @Override
    public void mouseReleased(MouseEvent e) {
    }
 
    @Override
    public void mouseEntered(MouseEvent e) {
    }
 
    @Override
    public void mouseExited(MouseEvent e) {
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Animacion para que desplaze una bola a un lugar del jpanel cuando doy click izquierdo

Publicado por Anónimo (1 intervención) el 13/11/2020 21:09:54
Me pueden ayudar con uno parecido pero con Timer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar