Código Java (ArrastrarGrafico.java):
package arrastrargrafico;
import javax.swing.WindowConstants;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseEvent;
public class ArrastrarGrafico extends Canvas implements MouseMotionListener {
private int xRectangulo = 0;
private int yRectangulo = 0;
private final int anchoRectangulo = 64;
private final int altoRectangulo = 64;
private int xAnteriorRaton;
private int yAnteriorRaton;
private boolean arrastrando = false;
public static void main(String[] args) {
JFrame v = new JFrame("Arrastrar Grafico");
ArrastrarGrafico c = new ArrastrarGrafico();
v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
v.getContentPane().add(c);
v.setVisible(true);
v.pack();
}
public ArrastrarGrafico() {
addMouseMotionListener(this);
}
private boolean estaDentro(MouseEvent e) {
return (e.getX() > xRectangulo)
&& (e.getX() < (xRectangulo + anchoRectangulo))
&& (e.getY() > yRectangulo)
&& (e.getY() < (yRectangulo + altoRectangulo));
}
@Override
public Dimension getPreferredSize() {
return new Dimension(512, 512);
}
@Override
public void paint(Graphics g) {
g.setColor(Color.BLUE);
g.fillRect(xRectangulo, yRectangulo, anchoRectangulo, altoRectangulo);
}
@Override
public void mouseDragged(MouseEvent e) {
if (!arrastrando) {
if (estaDentro(e)) {
xAnteriorRaton = e.getX();
yAnteriorRaton = e.getY();
arrastrando = true;
}
} else {
xRectangulo = (xRectangulo + e.getX()) - xAnteriorRaton;
yRectangulo = (yRectangulo + e.getY()) - yAnteriorRaton;
xAnteriorRaton = e.getX();
yAnteriorRaton = e.getY();
repaint();
}
}
@Override
public void mouseMoved(MouseEvent e) {
arrastrando = false;
}
}
Resultado:
Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.
Archivo del blog
-
►
2012
(38)
- ► septiembre (3)
-
►
2020
(12)
- ► septiembre (1)
-
▼
2022
(30)
- ► septiembre (4)
-
▼
octubre
(8)
- Conversor a código Morse. Uso de HashMap.
- Emitir notas musicales en formato sintetizado (midi).
- Conversor a código Braille. Uso de HashMap con mat...
- Arrastrar un gráfico con el mouse dentro de jFrame.
- Mezclar elementos de una lista. Uso de "Collection...
- Cola circular. Uso de Queue.
- Rotar elementos de una lista. Uso de "Collections....
- Mezlar, ordenar, rotar e invertir un listado. Uso ...
sábado, 15 de octubre de 2022
Arrastrar un gráfico con el mouse dentro de jFrame.
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.
No hay comentarios:
Publicar un comentario