color update

This commit is contained in:
2025-12-08 08:42:38 +00:00
parent 61277350d8
commit 4b90827c2a
3 changed files with 35 additions and 19 deletions

View File

@@ -50,10 +50,11 @@ public class ConfigurationDialog {
// Criar painel de configuração
VBox content = new VBox(15);
content.setPadding(new Insets(20));
content.setStyle("-fx-background-color: #2b2b2b;");
// Seção 1: Parâmetros de Chegada
Label arrivalHeader = new Label("Parâmetros de Chegada de Veículos");
arrivalHeader.setStyle("-fx-font-weight: bold; -fx-font-size: 14px;");
arrivalHeader.setStyle("-fx-font-weight: bold; -fx-font-size: 14px; -fx-text-fill: white;");
GridPane arrivalGrid = new GridPane();
arrivalGrid.setHgap(10);
@@ -62,6 +63,7 @@ public class ConfigurationDialog {
// Modelo de chegada
Label modelLabel = new Label("Modelo de chegada:");
modelLabel.setStyle("-fx-text-fill: white;");
ComboBox<String> modelCombo = new ComboBox<>();
modelCombo.getItems().addAll("POISSON", "FIXED");
modelCombo.setValue("POISSON");
@@ -70,6 +72,7 @@ public class ConfigurationDialog {
// Taxa de chegada (λ)
Label rateLabel = new Label("Taxa de chegada (λ) [veículos/s]:");
rateLabel.setStyle("-fx-text-fill: white;");
Spinner<Double> rateSpinner = new Spinner<>(0.1, 2.0, 0.5, 0.1);
rateSpinner.setEditable(true);
rateSpinner.setPrefWidth(100);
@@ -78,6 +81,7 @@ public class ConfigurationDialog {
// Intervalo fixo (se aplicável)
Label intervalLabel = new Label("Intervalo fixo [s]:");
intervalLabel.setStyle("-fx-text-fill: white;");
Spinner<Double> intervalSpinner = new Spinner<>(0.5, 10.0, 2.0, 0.5);
intervalSpinner.setEditable(true);
intervalSpinner.setPrefWidth(100);
@@ -94,7 +98,7 @@ public class ConfigurationDialog {
// Seção 2: Parâmetros de Tempo
Label timeHeader = new Label("Parâmetros de Tempo");
timeHeader.setStyle("-fx-font-weight: bold; -fx-font-size: 14px;");
timeHeader.setStyle("-fx-font-weight: bold; -fx-font-size: 14px; -fx-text-fill: white;");
GridPane timeGrid = new GridPane();
timeGrid.setHgap(10);
@@ -103,6 +107,7 @@ public class ConfigurationDialog {
// Duração da simulação
Label durationLabel = new Label("Duração da simulação [s]:");
durationLabel.setStyle("-fx-text-fill: white;");
Spinner<Integer> durationSpinner = new Spinner<>(60, 7200, 300, 60);
durationSpinner.setEditable(true);
durationSpinner.setPrefWidth(100);
@@ -111,6 +116,7 @@ public class ConfigurationDialog {
// Escala temporal (para visualização)
Label scaleLabel = new Label("Escala temporal (0=instantâneo, 1=tempo real):");
scaleLabel.setStyle("-fx-text-fill: white;");
Spinner<Double> scaleSpinner = new Spinner<>(0.0, 1.0, 0.01, 0.01);
scaleSpinner.setEditable(true);
scaleSpinner.setPrefWidth(100);
@@ -119,6 +125,7 @@ public class ConfigurationDialog {
// Tempo de drenagem
Label drainLabel = new Label("Tempo de drenagem [s]:");
drainLabel.setStyle("-fx-text-fill: white;");
Spinner<Integer> drainSpinner = new Spinner<>(0, 300, 60, 10);
drainSpinner.setEditable(true);
drainSpinner.setPrefWidth(100);
@@ -127,7 +134,7 @@ public class ConfigurationDialog {
// Seção 3: Distribuição de Tipos de Veículos
Label vehicleHeader = new Label("Distribuição de Tipos de Veículos");
vehicleHeader.setStyle("-fx-font-weight: bold; -fx-font-size: 14px;");
vehicleHeader.setStyle("-fx-font-weight: bold; -fx-font-size: 14px; -fx-text-fill: white;");
GridPane vehicleGrid = new GridPane();
vehicleGrid.setHgap(10);
@@ -135,6 +142,7 @@ public class ConfigurationDialog {
vehicleGrid.setPadding(new Insets(10));
Label bikeLabel = new Label("Bicicletas/Motos [%]:");
bikeLabel.setStyle("-fx-text-fill: white;");
Spinner<Integer> bikeSpinner = new Spinner<>(0, 100, 10, 5);
bikeSpinner.setEditable(true);
bikeSpinner.setPrefWidth(100);
@@ -142,6 +150,7 @@ public class ConfigurationDialog {
vehicleGrid.add(bikeSpinner, 1, 0);
Label lightLabel = new Label("Veículos Ligeiros [%]:");
lightLabel.setStyle("-fx-text-fill: white;");
Spinner<Integer> lightSpinner = new Spinner<>(0, 100, 70, 5);
lightSpinner.setEditable(true);
lightSpinner.setPrefWidth(100);
@@ -149,6 +158,7 @@ public class ConfigurationDialog {
vehicleGrid.add(lightSpinner, 1, 1);
Label heavyLabel = new Label("Veículos Pesados [%]:");
heavyLabel.setStyle("-fx-text-fill: white;");
Spinner<Integer> heavySpinner = new Spinner<>(0, 100, 20, 5);
heavySpinner.setEditable(true);
heavySpinner.setPrefWidth(100);
@@ -159,7 +169,7 @@ public class ConfigurationDialog {
Label noteLabel = new Label("Nota: Estes parâmetros sobrepõem os valores do ficheiro .properties selecionado.\n" +
"Para usar os valores padrão do ficheiro, deixe em branco ou cancele.");
noteLabel.setWrapText(true);
noteLabel.setStyle("-fx-font-size: 11px; -fx-text-fill: #666666;");
noteLabel.setStyle("-fx-font-size: 11px; -fx-text-fill: #aaaaaa;");
// Adicionar tudo ao conteúdo
content.getChildren().addAll(

View File

@@ -96,6 +96,7 @@ public class DashboardUI extends Application {
// Build UI Layout
BorderPane root = new BorderPane();
root.getStyleClass().add("root");
root.setStyle("-fx-background-color: #2b2b2b;");
// Header (Top)
VBox header = createHeader();

View File

@@ -1,6 +1,6 @@
/* Global Styles */
.root {
-fx-background-color: #f4f7f6;
-fx-background-color: #2b2b2b;
-fx-font-family: 'Segoe UI', sans-serif;
}
@@ -63,24 +63,24 @@
/* Cards / Panels */
.card {
-fx-background-color: white;
-fx-background-color: #1e1e1e;
-fx-background-radius: 8;
-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.05), 10, 0, 0, 2);
-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.3), 10, 0, 0, 2);
-fx-padding: 0;
}
.card-header {
-fx-background-color: #ecf0f1;
-fx-background-color: #3a3a3a;
-fx-background-radius: 8 8 0 0;
-fx-padding: 10 15;
-fx-border-color: #bdc3c7;
-fx-border-color: #555555;
-fx-border-width: 0 0 1 0;
}
.card-title {
-fx-font-size: 16px;
-fx-font-weight: bold;
-fx-text-fill: #2c3e50;
-fx-text-fill: white;
}
.card-content {
@@ -90,43 +90,48 @@
/* Statistics Grid */
.stat-label {
-fx-font-size: 14px;
-fx-text-fill: #7f8c8d;
-fx-text-fill: #cccccc;
}
.stat-value {
-fx-font-size: 20px;
-fx-font-weight: bold;
-fx-text-fill: #2980b9;
-fx-text-fill: #4ca1af;
}
/* Tables */
.table-view {
-fx-background-color: transparent;
-fx-background-color: #1e1e1e;
-fx-border-color: transparent;
}
.table-view .column-header-background {
-fx-background-color: #ecf0f1;
-fx-border-color: #bdc3c7;
-fx-background-color: #3a3a3a;
-fx-border-color: #555555;
-fx-border-width: 0 0 1 0;
}
.table-view .column-header .label {
-fx-text-fill: #2c3e50;
-fx-text-fill: white;
-fx-font-weight: bold;
}
.table-row-cell {
-fx-background-color: white;
-fx-background-color: #1e1e1e;
-fx-border-color: transparent;
-fx-text-fill: white;
}
.table-row-cell:odd {
-fx-background-color: #f9f9f9;
-fx-background-color: #252525;
}
.table-row-cell:selected {
-fx-background-color: #3498db;
-fx-background-color: #4ca1af;
-fx-text-fill: white;
}
.table-cell {
-fx-text-fill: white;
}