Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.geom.Line2D;
- import javax.swing.JPanel;
- import javax.swing.JFrame;
- /**
- *
- * @author htrefftz
- */
- public class EventoMouse
- extends JPanel
- implements MouseListener {
- int C1x = 150;
- int C1y = 150;
- int C2x = 100;
- int C2y = 100;
- boolean C1s = false;
- boolean C2s = false;
- public EventoMouse() {
- this.addMouseListener(this);
- }
- @Override
- public void paint(Graphics g) {
- super.paint(g);
- g.setColor(Color.BLUE);
- if (C1s || C2s) g.drawString("Selected", 5, 11); else g.drawString("Not selected", 5, 11);
- g.setColor(Color.BLUE);
- g.fillOval(C1x - 30, C1y - 30, 60, 60);
- g.setColor(Color.GREEN);
- g.fillOval(C2x - 30, C2y - 30, 60, 60);
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- if (!C1s && !C2s)
- {
- int distanceToCircle1 = (int)Math.sqrt((e.getX() - C1x)*(e.getX() - C1x)+(e.getY() - C1y)*(e.getY() - C1y));
- int distanceToCircle2 = (int)Math.sqrt((e.getX() - C2x)*(e.getX() - C2x)+(e.getY() - C2y)*(e.getY() - C2y));
- C1s = (distanceToCircle1 < 30);
- C2s = (distanceToCircle2 < 30);
- System.out.println(distanceToCircle1);
- repaint();
- }
- else
- {
- if (C1s)
- {
- C1x = e.getX();
- C1y = e.getY();
- } else if (C2s)
- {
- C2x = e.getX();
- C2y = e.getY();
- }
- C1s = false;
- C2s = false;
- repaint();
- }
- }
- @Override
- public void mouseEntered(MouseEvent e) {}
- @Override
- public void mouseExited(MouseEvent e) {}
- @Override
- public void mousePressed(MouseEvent e) {
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- }
- public static void main(String[] args) {
- // Crear un nuevo Frame
- JFrame frame = new JFrame("Eventos del Mouse");
- // Al cerrar el frame, termina la ejecución de este programa
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // Agregar un JPanel que se llama Points (esta clase)
- EventoMouse ev = new EventoMouse();
- frame.add(ev);
- // Asignarle tamaño
- frame.setSize(500, 500);
- // Poner el frame en el centro de la pantalla
- frame.setLocationRelativeTo(null);
- // Mostrar el frame
- frame.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement