From ead1d987574ce3b91ba05db4ecb2b2e8355d8de5 Mon Sep 17 00:00:00 2001 From: Elisabeth Berg Date: Tue, 26 May 2026 15:49:56 +0200 Subject: [PATCH 1/2] Added error message when trying to sell more than owned --- src/main/java/View/MainGameScene.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/View/MainGameScene.java b/src/main/java/View/MainGameScene.java index cb6c98e..567d4de 100644 --- a/src/main/java/View/MainGameScene.java +++ b/src/main/java/View/MainGameScene.java @@ -407,6 +407,8 @@ protected void updateItem(Share s, boolean empty) { } } catch (NumberFormatException ex) { alert("Error", "Enter a valid number for quantity"); + } catch (IllegalArgumentException ex) { + alert("Error", ex.getMessage()); } }); From 137981a91b43c8b4ffb4e52b895fca5244b2e4ee Mon Sep 17 00:00:00 2001 From: Elisabeth Berg Date: Tue, 26 May 2026 15:56:42 +0200 Subject: [PATCH 2/2] Stock tab in UI now updates automatically --- src/main/java/View/MainGameScene.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/View/MainGameScene.java b/src/main/java/View/MainGameScene.java index 567d4de..945f251 100644 --- a/src/main/java/View/MainGameScene.java +++ b/src/main/java/View/MainGameScene.java @@ -53,9 +53,11 @@ public class MainGameScene implements ExchangeObserver { // References to UI components that need refreshing private TableView portfolioTable; + private TableView table; private ListView holdingsList; private TableView historyTable; private ComboBox weekFilterCombo; + private Runnable loadStocks; /** * Constructs the main game scene. @@ -159,10 +161,10 @@ private VBox createStocksPanel() { filter.setItems(FXCollections.observableArrayList("All", "Gainers", "Losers")); filter.setValue("All"); - TableView table = new TableView<>(); + table = new TableView<>(); addStockColumns(table); - Runnable loadStocks = () -> { + loadStocks = () -> { List stocks; String filterVal = filter.getValue(); String searchVal = search.getText().trim(); @@ -575,6 +577,9 @@ private void updateStatus() { } private void refreshAllUI() { + if (table != null && loadStocks != null) { + loadStocks.run(); + } if (portfolioTable != null) { updatePortfolio(portfolioTable); }