UD03T03_DashboardIoT
02_Vista
π¨ DESARROLLO DE LA VISTA (FXML + CSS)
π PASO 1 VISTA FXML (Dashboard.fxml)
π― PropΓ³sito
Definir laΒ estructura visualΒ de la interfaz de usuario de forma declarativa usando XML.
1.1. Layout Principal - BorderPane
βββββββββββββββββββββββββββββββββββββββββββββββ
β <top> β
β βββββββββββββββ β
β β MenuBar β β
β β - Archivo β β
β βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β <center> β
β ββββββββββββββββββββββββββββββββββββββ β
β β HBox principal (horizontal) β β
β β ββββββββββββ¬βββββββββββββββββββ β β
β β β Columna β Columna β β β
β β β Izquierdaβ Derecha β β β
β β β (360px) β (restante) β β β
β β β β β β β
β β β β’ Card β β’ Card Filtros β β β
β β β Sensor β β’ Card GrΓ‘fico β β β
β β β β’ Card β β β β
β β β Avisos β β β β
β β ββββββββββββ΄βββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββ
ConfiguraciΓ³n del Eje X (Tiempo):
| Propiedad | Valor | Significado |
|---|---|---|
fx:id |
xAxis |
Referencia para modificar dinΓ‘micamente |
label |
"Tiempo (s)" |
Etiqueta del eje |
autoRanging |
false |
LΓmites MANUALES (ventana deslizante) |
lowerBound |
0 |
LΓmite inferior inicial |
upperBound |
30 |
LΓmite superior inicial (30s) |
tickUnit |
5 |
Marcas cada 5 segundos |
ConfiguraciΓ³n del Eje Y (Valor):
| Propiedad | Valor | Significado |
|---|---|---|
fx:id |
yAxis |
Referencia (no se modifica en este proyecto) |
label |
"Valor" |
Etiqueta del eje |
autoRanging |
true |
LΓmites AUTOMΓTICOS (se ajustan a datos) |
π PASO 2: ESTILOS CSS (dashboard.css)
2.1. Estilo: Contenedor Principal
CaracterΓsticas en EspaΓ±ol:
Selector: .root-pad
ββ PROPIEDAD: Color de fondo
β ββ VALOR: Gris muy claro (#f5f7fb)
Aplicado a:Β HBox principal (contenedor de las dos columnas)
2.2. Estilo: Tarjetas (Cards)
CaracterΓsticas:
Selector: .card
ββ PROPIEDAD: Color de fondo
β ββ VALOR: Blanco
ββ PROPIEDAD: Color del borde
β ββ VALOR: Gris muy suave (#e6e9f2)
ββ PROPIEDAD: Radio de esquinas del borde
β ββ VALOR: 12 pΓxeles
ββ PROPIEDAD: Radio de esquinas del fondo
β ββ VALOR: 12 pΓxeles
ββ PROPIEDAD: Relleno interno (padding)
β ββ VALOR: 14 pΓxeles en todos los lados
ββ PROPIEDAD: Efecto visual de sombra (dropshadow)
ββ TIPO: Sombra difuminada gaussiana
ββ COLOR: Negro con 8% de opacidad
ββ RADIO DE DIFUMINADO: 14 pΓxeles
ββ FACTOR DE EXTENSIΓN: 0.15
ββ DESPLAZAMIENTO HORIZONTAL: 0 pΓxeles
ββ DESPLAZAMIENTO VERTICAL: 3 pΓxeles (hacia abajo)
ExplicaciΓ³n de dropshadow:
dropshadow(tipo, color, radio, spread, offsetX, offsetY)
- tipo: gaussian (difuminado suave)
- color: rgba(0,0,0,0.08) (negro 8% opaco)
- radio: 14px (tamaΓ±o del difuminado)
- spread: 0.15 (expansiΓ³n de la sombra)
- offsetX: 0px (sin desplazamiento horizontal)
- offsetY: 3px (desplazada 3px hacia abajo)
2.3. Estilo: TΓtulos
Card Title:
Selector: .card-title
ββ PROPIEDAD: TamaΓ±o de fuente
β ββ VALOR: 16 pΓxeles
ββ PROPIEDAD: Grosor de fuente
β ββ VALOR: Negrita (bold)
ββ PROPIEDAD: Color del texto
ββ VALOR: Azul oscuro (#1f2a44)
Section Title:
Selector: .section-title
ββ PROPIEDAD: TamaΓ±o de fuente
β ββ VALOR: 13 pΓxeles
ββ PROPIEDAD: Grosor de fuente
β ββ VALOR: Negrita (bold)
ββ PROPIEDAD: Color del texto
ββ VALOR: Gris azulado oscuro (#2b3553)
2.4. Estilo: Texto Secundario
Selector: .muted
ββ PROPIEDAD: Color del texto
ββ VALOR: Gris medio (#6b7486)
2.5. Estilo: BotΓ³n con Borde
Selector: .btn-outline
ββ PROPIEDAD: Color de fondo
β ββ VALOR: Transparente
ββ PROPIEDAD: Color del borde
β ββ VALOR: Azul (#2b6cb0)
ββ PROPIEDAD: Color del texto
β ββ VALOR: Azul (#2b6cb0)
ββ PROPIEDAD: Radio de esquinas del borde
β ββ VALOR: 10 pΓxeles
ββ PROPIEDAD: Radio de esquinas del fondo
β ββ VALOR: 10 pΓxeles
ββ PROPIEDAD: Relleno interno (padding)
β ββ VALORES: vertical=6px, horizontal=14px
ββ PROPIEDAD: Tipo de cursor
ββ VALOR: Mano (hand) - indica clickeable
Pseudoclase: :hover (cuando el ratΓ³n estΓ‘ encima)
ββ PROPIEDAD: Color de fondo
ββ VALOR: Azul con 8% de opacidad
2.6. Estilo: Pastillas de Advertencia (alertas)
Selector: .warn-pill
ββ PROPIEDAD: Color de fondo
β ββ VALOR: Rojo con 10% de opacidad
ββ PROPIEDAD: Color del texto
β ββ VALOR: Rojo oscuro (#b91c1c)
ββ PROPIEDAD: Relleno interno (padding)
β ββ VALORES: vertical=8px, horizontal=10px
ββ PROPIEDAD: Radio de esquinas del fondo
β ββ VALOR: 10 pΓxeles
ββ PROPIEDAD: Radio de esquinas del borde
β ββ VALOR: 10 pΓxeles
ββ PROPIEDAD: Color del borde
ββ VALOR: Rojo con 25% de opacidad
2.7. Estilo: Pastilla OK (alertas)
Selector: .ok-pill
ββ PROPIEDAD: Color de fondo
β ββ VALOR: Verde con 10% de opacidad
ββ PROPIEDAD: Color del texto
β ββ VALOR: Verde oscuro (#166534)
ββ PROPIEDAD: Relleno interno (padding)
β ββ VALORES: vertical=8px, horizontal=10px
ββ PROPIEDAD: Radio de esquinas del fondo
β ββ VALOR: 10 pΓxeles
ββ PROPIEDAD: Radio de esquinas del borde
β ββ VALOR: 10 pΓxeles
ββ PROPIEDAD: Color del borde
ββ VALOR: Verde con 25% de opacidad
2.8. Estilo: GrΓ‘fico
Selector: .chart
ββ PROPIEDAD: Relleno interno (padding)
ββ VALOR: 6 pΓxeles
Selector: .chart-plot-background
ββ PROPIEDAD: Color de fondo del Γ‘rea de trazado
ββ VALOR: Azul muy claro (#fbfcff)
Selectores: .chart-vertical-grid-lines, .chart-horizontal-grid-lines
ββ PROPIEDAD: Color de trazo de lΓneas de cuadrΓcula
ββ VALOR: Negro con 8% de opacidad
π¨ PALETA DE COLORES DEL PROYECTO
| Nombre | CΓ³digo | Uso Principal |
|---|---|---|
| Blanco | #ffffffΒ /Β white |
Fondos de cards |
| Gris muy claro | #f5f7fb |
Fondo general de la app |
| Gris borde | #e6e9f2 |
Bordes suaves de cards |
| Gris medio | #6b7486 |
Texto secundario (etiquetas) |
| Gris azulado | #2b3553 |
SubtΓtulos |
| Azul oscuro | #1f2a44 |
TΓtulos principales |
| Azul | #2b6cb0 |
Botones y acentos |
| Rojo alerta | #dc2626Β /Β #b91c1c |
Advertencias |
| Verde OK | #16a34aΒ /Β #166534 |
Estado normal |
| Azul muy claro | #fbfcff |
Fondo del grΓ‘fico |