From ae95b7f9b63672e6ed6e6969f60178a96b2781e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Einar=20Sk=C3=B8ien?= Date: Wed, 13 May 2026 13:28:36 +0200 Subject: [PATCH] change to areachart and altered stock resolution to fit a full week --- .../gruppe42/Controller/MarketController.java | 2 +- .../View/Views/Components/StockGraph.java | 22 ++++++------- src/main/resources/css/apps.css | 32 ++++++++++++++++--- 3 files changed, 40 insertions(+), 16 deletions(-) diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Controller/MarketController.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Controller/MarketController.java index 9146229..cc5ba9d 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Controller/MarketController.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Controller/MarketController.java @@ -21,7 +21,7 @@ public final class MarketController { * Constructs a new MarketController and starts the market. */ public MarketController() { - this.stockResolution = 50; + this.stockResolution = 120; try { Path path = Path.of(Objects.requireNonNull(getClass().getClassLoader() diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Views/Components/StockGraph.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Views/Components/StockGraph.java index e9cb960..a14a4e5 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Views/Components/StockGraph.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/Views/Components/StockGraph.java @@ -2,7 +2,7 @@ import edu.ntnu.idi.idatt2003.gruppe42.Model.Stock; import javafx.application.Platform; -import javafx.scene.chart.LineChart; +import javafx.scene.chart.AreaChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.scene.layout.VBox; @@ -14,7 +14,7 @@ * Component for displaying a stock price history graph. */ public final class StockGraph extends VBox { - private final LineChart lineChart; + private final AreaChart areaChart; private boolean isVisible = false; /** @@ -32,14 +32,14 @@ public StockGraph() { yAxis.setLabel("Price"); yAxis.setAutoRanging(true); - lineChart = new LineChart<>(xAxis, yAxis); - lineChart.getStyleClass().add("stock-line-chart"); - lineChart.setPrefSize(500, 250); - lineChart.setCreateSymbols(false); - lineChart.setLegendVisible(false); - lineChart.setAnimated(false); + areaChart = new AreaChart<>(xAxis, yAxis); + areaChart.getStyleClass().add("stock-area-chart"); + areaChart.setPrefSize(500, 250); + areaChart.setCreateSymbols(false); + areaChart.setLegendVisible(false); + areaChart.setAnimated(false); - getChildren().add(lineChart); + getChildren().add(areaChart); } /** @@ -64,7 +64,7 @@ public void update(final Stock stock) { ); Platform.runLater(() -> { - lineChart.getData().clear(); + areaChart.getData().clear(); XYChart.Series series = new XYChart.Series<>(); series.setName(stock.getCompany()); @@ -73,7 +73,7 @@ public void update(final Stock stock) { series.getData().add(new XYChart.Data<>(i, latestHistory.get(i))); } - lineChart.getData().add(series); + areaChart.getData().add(series); }); } diff --git a/src/main/resources/css/apps.css b/src/main/resources/css/apps.css index 3216f29..6626722 100644 --- a/src/main/resources/css/apps.css +++ b/src/main/resources/css/apps.css @@ -179,26 +179,50 @@ -fx-background-color: white; } -.stock-line-chart { +.stock-area-chart { -fx-create-symbols: false; -fx-horizontal-grid-lines-visible: false; -fx-vertical-grid-lines-visible: false; } -.stock-line-chart .chart-series-line { +/* The actual line */ +.stock-area-chart .chart-series-area-line { -fx-stroke: #007AFF; -fx-stroke-width: 2px; } -.stock-line-chart .chart-plot-background { +/* The filled area */ +.stock-area-chart .chart-series-area-fill { + -fx-fill: rgba(0, 122, 255, 0.15); +} + +/* Background */ +.stock-area-chart .chart-plot-background { -fx-background-color: transparent; } -.stock-line-chart .axis { +/* Axes */ +.stock-area-chart .axis { -fx-tick-label-fill: #888888; -fx-tick-length: 5; } +/* Receipt */ +.receipt-container { + -fx-background-color: white; + -fx-border-color: #cccccc; + -fx-border-style: dashed; + -fx-padding: 20; + -fx-effect: dropshadow( + three-pass-box, + rgba(0,0,0,0.1), + 5, + 0, + 0, + 2 + ); +} + /* Receipt */ .receipt-container { -fx-background-color: white;