-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCirculoRojo.java
More file actions
88 lines (76 loc) · 3.89 KB
/
CirculoRojo.java
File metadata and controls
88 lines (76 loc) · 3.89 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/* Nombre: Ana Laura Madrigal García
Fecha: 25 de marzo del 2021
En la clase CirculoRojo se usaron métodos de conveniencia para que el programa respondiera a eventos del ratón.
Experimentar con los eventos MOUSE_ENTERED y MOUSE_EXITED. Una idea podría ser cambiar el color de un botón cuando
el cursor se mueva encima de este.
*/
import javafx.application.Application;
import javafx.scene.Group;
import javafx.stage.Stage;
import javafx.scene.text.Text;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
public class CirculoRojo extends Application {
@Override
public void start(Stage escenario) {
final double ANCHO = 400;
final double ALTO = 400;
// cÃrculo inicia en el censetStrokeWidthtro de la pantalla
Circle circulo = new Circle(ANCHO/2, ALTO/2, 20, Color.PLUM);
Text cabecera = new Text(ANCHO/2-50, 20, "Pulsar en el circulo rojo");
Text mensaje = new Text(ANCHO/2-40, ALTO-20, "Sigue Intentando");
Group raiz = new Group(cabecera, circulo, mensaje);
Scene escena = new Scene(raiz, ANCHO, ALTO, Color.DARKSEAGREEN);
/* cuando el ratón es movido o arrastrado el centro del cÃrculo
* es reposicionado para que siempre este 50 pÃxeles a la izquieda
* y 50 pÃxels encima del cursor.
* Cuando es arrastrado cambia el grosor del borde
*/
escena.setOnMouseMoved(e -> {
circulo.setCenterX(e.getX()-50);
circulo.setCenterY(e.getY()-50);
circulo.setStroke(Color.WHITE);
circulo.(10);
}
);
escena.setOnMouseDragged(e -> {
circulo.setCenterX(e.getX()-50);
circulo.setCenterY(e.getY()-50);
circulo.setFill(Color.ROSYBROWN);
circulo.setStrokeWidth(20);
}
);
// el mensaje es mostrado cuando el botón del ratón es presionado
escena.setOnMousePressed(e -> {
mensaje.setText("Sigue intentando :)");
});
// el mensaje es muestra una carita feliz cuando el botón del ratón es soltado y
// vuelve el círculo a su color y proporción usual
escena.setOnMouseReleased(e -> {
mensaje.setText("(^_^)");
circulo.setStroke(Color.WHITE);
circulo.setStrokeWidth(10);
circulo.setFill(Color.SEAGREEN);
} );
//cuando empieza a mover el ratón está dentro de la ventana es verde con margen blanco
escena.setOnMouseEntered(e -> {
circulo.setStroke(Color.WHITE);
circulo.setFill(Color.SEAGREEN);
mensaje.setText("Sigue intentando :)");
} );
// cuando el ratón sale de la pestaña, muestra un mensaje, cambia el color y el ancho del borde del círculo
escena.setOnMouseExited(e -> {
circulo.setFill(Color.MISTYROSE);
circulo.setStroke(Color.INDIANRED);
circulo.setStrokeWidth(10);
mensaje.setText("Vuelve al juego :(");
} );
escenario.setScene(escena);
escenario.setTitle("Circulo Rojo");
escenario.show();
}
public static void main(String[] args) {
launch(args);
}
}