diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/SelectBudgetController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/SelectBudgetController.java index 0bac04079367f38389c6b83b190a9deb378377e4..35a213b509d5372a91de3e495306dab4363b6390 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/SelectBudgetController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/SelectBudgetController.java @@ -6,6 +6,8 @@ import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.Node; +import javafx.scene.control.Button; +import javafx.scene.control.Label; import javafx.scene.control.ListView; import javafx.scene.input.MouseButton; import javafx.stage.Stage; @@ -16,6 +18,12 @@ import no.ntnu.idatt1002.demo.data.Budget.FileHandlingSelectedBudget; public class SelectBudgetController { + @FXML + Button okBtn; + + @FXML + private Label errorMsg; + @FXML private ListView<String> budgetListView; @@ -25,6 +33,14 @@ public class SelectBudgetController { @FXML public void initialize() throws IOException { + okBtn.addEventFilter( + ActionEvent.ACTION, event -> { + if (budgetListView.getSelectionModel().getSelectedItem() == null) { + errorMsg.setOpacity(1); + event.consume(); + } + }); + try { if (FileHandlingBudgetArchive.isBudgetRegisterEmpty()) { budgetRegister = new BudgetRegister(); @@ -59,7 +75,7 @@ public class SelectBudgetController { @FXML public void exitWindow(ActionEvent event) throws IOException { - FileHandlingSelectedBudget.updateSelectedBudget(""); + FileHandlingSelectedBudget.clearSelectedBudget(); final Node source = (Node) event.getSource(); ((Stage) source.getScene().getWindow()).close(); } diff --git a/src/main/resources/view/SelectBudget.fxml b/src/main/resources/view/SelectBudget.fxml index ce1c21e1a474b3a0c038d4ce23b2cf29469bb7e6..4cf1f903677e6bd97d6e77a8f0ef158480239b1c 100644 --- a/src/main/resources/view/SelectBudget.fxml +++ b/src/main/resources/view/SelectBudget.fxml @@ -10,7 +10,7 @@ <DialogPane prefHeight="300.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SelectBudgetController"> <content> - <VBox alignment="CENTER" prefWidth="362.0"> + <VBox alignment="CENTER" prefWidth="362.0" spacing="5.0"> <children> <Label text="Select budget project"> <font> @@ -18,15 +18,20 @@ </font> </Label> <ListView fx:id="budgetListView" prefHeight="200.0" prefWidth="200.0" /> + <Label fx:id="errorMsg" opacity="0.0" text="Please select a budget" textFill="#e60707"> + <font> + <Font name="Lucida Console" size="14.0" /> + </font> + </Label> <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="5.0"> <children> <Button mnemonicParsing="false" onAction="#exitWindow" prefWidth="70.0" text="Cancel" /> - <Button mnemonicParsing="false" onAction="#selectBudget" prefWidth="70.0" text="OK" /> + <Button fx:id="okBtn" mnemonicParsing="false" onAction="#selectBudget" prefWidth="70.0" text="OK" /> </children> </HBox> <Label text="Click on an entry to select it"> <font> - <Font size="14.0" /> + <Font name="Lucida Console" size="14.0" /> </font> </Label> </children>