-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathButton.java
More file actions
74 lines (67 loc) · 2.03 KB
/
Copy pathButton.java
File metadata and controls
74 lines (67 loc) · 2.03 KB
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
/**
* Created by dimaer on 19/03/17.
*/
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class Button implements Drawable , MouseObserver{
private Rectangle boundRect;
private MouseListener mouseListener;
/**
* Costruttore
* @param BoundRect Dimensioni di rettangolo
*/
public Button(Rectangle BoundRect)
{
boundRect = BoundRect;
}
/**
* Metodo che imposta le dimensioni di rettangolo
* @param BoundRect Dimensioni di rettangolo
*/
public void setBoundRect(Rectangle BoundRect)
{
boundRect = BoundRect;
}
/**
* Metodo che aggiorna il componente quando esso riceve il messagio (L'evento)
* @param mouseEvent L'evento di mouse
* @param message messagio di evento
*/
@Override
public void update(MouseEvent mouseEvent, String message) {
if(message.equals("MOUSE_CLICKED"))
{
if(isContainMouse(mouseEvent))
mouseListener.mouseClicked(mouseEvent);
}
if(message.equals("MOUSE_MOVED"))
{
if(isContainMouse(mouseEvent))
mouseListener.mouseEntered(mouseEvent);
}
}
/**
*
* @param mouseListener
*/
public void addMouseListener(MouseListener mouseListener){
this.mouseListener = mouseListener;
}
/**
* Metodo che verifica se il puntatore di mouse e' contenuto nel componente
* @param mouseEvent L'evento di mouse
* @return true se e' contenuto nel componente
*/
private boolean isContainMouse(MouseEvent mouseEvent)
{
if(mouseEvent.getX() > boundRect.getX() && mouseEvent.getX() < boundRect.getX() + boundRect.width )
if (mouseEvent.getY() > boundRect.getY() && mouseEvent.getY() < boundRect.getY() + boundRect.height )
return true;
return false;
}
@Override
public void draw(Graphics graphics) {
graphics.drawRect(boundRect.x,boundRect.y,boundRect.width,boundRect.height);
}
}