diff --git a/src/main/java/edu/ntnu/idatt2003/controller/ChaosGameController.java b/src/main/java/edu/ntnu/idatt2003/controller/CanvasController.java similarity index 51% rename from src/main/java/edu/ntnu/idatt2003/controller/ChaosGameController.java rename to src/main/java/edu/ntnu/idatt2003/controller/CanvasController.java index 64e6e622d9f9966e8e1fcde231be169d2fc1b59d..402761fe55fd76ee9e03dbc2e96b168bb180b48a 100644 --- a/src/main/java/edu/ntnu/idatt2003/controller/ChaosGameController.java +++ b/src/main/java/edu/ntnu/idatt2003/controller/CanvasController.java @@ -1,56 +1,31 @@ package edu.ntnu.idatt2003.controller; -import edu.ntnu.idatt2003.exceptions.CouldNotWriteException; -import edu.ntnu.idatt2003.exceptions.EmptyListException; import edu.ntnu.idatt2003.exceptions.InvalidPositiveIntException; -import edu.ntnu.idatt2003.exceptions.InvalidSignException; -import edu.ntnu.idatt2003.exceptions.InvalidTypeException; -import edu.ntnu.idatt2003.exceptions.InvalidVectorRangeException; -import edu.ntnu.idatt2003.exceptions.IsNullException; -import edu.ntnu.idatt2003.exceptions.WrongFileFormatException; import edu.ntnu.idatt2003.model.game.ChaosGame; -import edu.ntnu.idatt2003.model.game.ChaosGameDescription; -import edu.ntnu.idatt2003.model.game.ChaosGameDescriptionFactory; -import edu.ntnu.idatt2003.model.io.ChaosGameFileHandler; import edu.ntnu.idatt2003.util.ExceptionLogger; -import edu.ntnu.idatt2003.view.components.TopBar; import edu.ntnu.idatt2003.view.components.ViewCanvas; -import java.io.File; -import java.io.FileNotFoundException; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.util.Duration; /** - * The controller class for the chaos game. + * The controller for the canvas in the chaos game. */ -public class ChaosGameController { +public class CanvasController { //Constants for the animation public static int RUN_SECONDS = 3; public static int FPS = 60; public static double K = 0.05; - //Constant for unexpected exceptions not caused by the user - public static final String UNEXPECTED_EXCEPTION = - "Something went wrong. Please try again or restart."; - private ChaosGame chaosGame; - private Timeline timeline; private final ViewCanvas viewCanvas; - private final TopBar topBar; - private ExceptionLogger exceptionLogger; + private Timeline timeline; + private ExceptionLogger exceptionLogger; private MessageController messageController; - private EditController editController; - /** - * Constructor for the ChaosGameController class. - * - * @param viewCanvas the view canvas to draw on. - */ - public ChaosGameController(ViewCanvas viewCanvas, TopBar topBar) { + public CanvasController(ViewCanvas viewCanvas) { this.viewCanvas = viewCanvas; - this.topBar = topBar; } /** @@ -80,81 +55,14 @@ public class ChaosGameController { this.messageController = messageController; } - /** - * Sets the edit controller to a new edit controller. - * - * @param editController the edit controller to be set - */ - public void setEditController(EditController editController) { - this.editController = editController; - } - - /** - * Gets the edit controller. - * - * @return the edit controller - */ - public EditController getEditController() { - return editController; - } - - /** - * Resets the chaos game with a new description. - * - * @param description the description to be set - */ - public void resetChaosGameWithDescription(String description) { - try { - ChaosGameDescription newDescription = ChaosGameDescriptionFactory.get(description); - chaosGame.resetGameWithDescription(newDescription); - stopTimeline(); - messageController.showSuccessPopup(description + " loaded successfully"); - } catch (IsNullException | InvalidVectorRangeException | EmptyListException - | InvalidSignException | InvalidTypeException e) { - exceptionLogger.logSevere(e); - messageController.showErrorPopup(UNEXPECTED_EXCEPTION); - } - } - - /** - * Resets the chaos game. - */ - public void resetChaosGame() { - stopTimeline(); - chaosGame.resetGame(); - } - /** * Resets the gui canvas. */ public void resetViewCanvas() { + stopTimeline(); viewCanvas.reset(); } - /** - * Reads a description from a file and resets the chaos game with the new description. - * - * @param file the file to read the description from - */ - public void resetChaosGameWithFile(File file) { - try { - ChaosGameFileHandler fileHandler = new ChaosGameFileHandler(); - ChaosGameDescription newDescription = fileHandler.readFromFile(file); - chaosGame.resetGameWithDescription(newDescription); - messageController.showSuccessPopup("File loaded successfully"); - } catch (IsNullException | InvalidVectorRangeException - | EmptyListException | InvalidSignException e) { - exceptionLogger.logSevere(e); - messageController.showErrorPopup(e.getMessage()); - } catch (FileNotFoundException e) { - exceptionLogger.logWarning(e); - messageController.showErrorPopup("File not found"); - } catch (WrongFileFormatException e) { - exceptionLogger.logWarning(e); - messageController.showErrorPopup(e.getMessage()); - } - } - /** * Draws a pixel on the viewCanvas. The color of the pixel is determined by how many times the * pixel has been visited. @@ -179,7 +87,7 @@ public class ChaosGameController { /** * Draws the current pixel on the viewCanvas. */ - void drawCurrentPixel() { + public void drawCurrentPixel() { drawPixel(chaosGame.getCanvas().getNewPixel()); } @@ -219,7 +127,8 @@ public class ChaosGameController { final int [] totalSteps = {0}; timeline = new Timeline(); KeyFrame keyFrame = new KeyFrame(Duration.millis(1000.0 / FPS), e -> { - int steps = (int) (iterations * K / Math.exp(FPS * RUN_SECONDS * K) * Math.exp(K * x[0])); + int steps = (int) + (iterations * K / (Math.exp(FPS * RUN_SECONDS * K) - 1) * Math.exp(K * x[0])); try { if (steps != 0) { long startTime = System.currentTimeMillis(); @@ -233,7 +142,7 @@ public class ChaosGameController { } } catch (InvalidPositiveIntException ex) { exceptionLogger.logSevere(ex); - messageController.showErrorPopup(UNEXPECTED_EXCEPTION); + messageController.showErrorPopup(MainController.UNEXPECTED_EXCEPTION); timeline.stop(); } x[0]++; @@ -248,7 +157,7 @@ public class ChaosGameController { } } catch (InvalidPositiveIntException ex) { exceptionLogger.logSevere(ex); - messageController.showErrorPopup(UNEXPECTED_EXCEPTION); + messageController.showErrorPopup(MainController.UNEXPECTED_EXCEPTION); } }); timeline.play(); @@ -263,20 +172,6 @@ public class ChaosGameController { } } - /** - * Method for running the animation with a given number of iterations - * from the top bar. - */ - public void runAnimation() { - try { - int iterations = Integer.parseInt(topBar.getIterations()); - animateIterations(iterations); - } catch (NumberFormatException e) { - exceptionLogger.logWarning(e); - messageController.showErrorPopup("Input must be a number"); - } - } - /** * Rescales the canvas. */ @@ -291,21 +186,4 @@ public class ChaosGameController { } } } - - /** - * Writes the set description of the chaos game to a file. - * - * @param file the file to write to - */ - public void writeChaosGameToFile(File file) { - ChaosGameFileHandler fileHandler = new ChaosGameFileHandler(); - try { - fileHandler.writeToFile(chaosGame.getDescriptions(), file); - messageController.showSuccessPopup("File written successfully"); - } catch (CouldNotWriteException e) { - exceptionLogger.logSevere(e); - messageController.showErrorPopup(UNEXPECTED_EXCEPTION); - } - } } - diff --git a/src/main/java/edu/ntnu/idatt2003/controller/MainController.java b/src/main/java/edu/ntnu/idatt2003/controller/MainController.java index f8756b99e76992d04b7e99ba2f85b7a3b9a2df23..b2890fdbe196f110b1a791a8b8771cd27f68bbe1 100644 --- a/src/main/java/edu/ntnu/idatt2003/controller/MainController.java +++ b/src/main/java/edu/ntnu/idatt2003/controller/MainController.java @@ -26,41 +26,47 @@ public class MainController implements Observer { public static final String UNEXPECTED_EXCEPTION = "Something went wrong. Please try again or restart."; - private final ChaosGameController chaosGameController; + private final TopBarController topBarController; private final EditController editController; + private final CanvasController canvasController; private final MessageController messageController; private final ExceptionLogger exceptionLogger; /** * Constructor for the MainController class. * - * @param chaosGameController the chaos game controller + * @param topBarController the chaos game controller * @param editController the edit controller * @param messageController the message controller */ - public MainController(ChaosGameController chaosGameController, EditController editController, - MessageController messageController) { - this.chaosGameController = chaosGameController; + public MainController(TopBarController topBarController, EditController editController, + MessageController messageController, CanvasController canvasController) { + this.topBarController = topBarController; this.editController = editController; + this.canvasController = canvasController; this.messageController = messageController; exceptionLogger = new ExceptionLogger("ChaosGameController"); try { ChaosGame chaosGame = new ChaosGame(ChaosGameDescriptionFactory.get( START_DESCRIPTION), CHAOS_GAME_WIDTH, CHAOS_GAME_HEIGHT); chaosGame.attach(this); - this.chaosGameController.setChaosGame(chaosGame); + this.topBarController.setChaosGame(chaosGame); this.editController.setChaosGame(chaosGame); + this.canvasController.setChaosGame(chaosGame); this.editController.updateEditPopup(); } catch (EmptyListException | InvalidVectorRangeException | InvalidSignException | IsNullException | InvalidTypeException | InvalidPositiveIntException e) { exceptionLogger.logSevere(e); messageController.showErrorPopup(UNEXPECTED_EXCEPTION); } - this.chaosGameController.setLogger(exceptionLogger); - this.chaosGameController.setMessageController(messageController); - this.chaosGameController.setEditController(editController); + this.topBarController.setLogger(exceptionLogger); + this.topBarController.setMessageController(messageController); + this.topBarController.setEditController(editController); + this.topBarController.setCanvasController(canvasController); this.editController.setLogger(exceptionLogger); this.editController.setMessageController(messageController); + this.canvasController.setLogger(exceptionLogger); + this.canvasController.setMessageController(messageController); } /** @@ -72,8 +78,8 @@ public class MainController implements Observer { @Override public void update(String updated) { switch (updated) { - case "clearGame" -> chaosGameController.resetViewCanvas(); - case "putPixel" -> chaosGameController.drawCurrentPixel(); + case "clearGame" -> canvasController.resetViewCanvas(); + case "putPixel" -> canvasController.drawCurrentPixel(); case "setDescription" -> editController.updateEditPopup(); default -> { try { diff --git a/src/main/java/edu/ntnu/idatt2003/controller/TopBarController.java b/src/main/java/edu/ntnu/idatt2003/controller/TopBarController.java new file mode 100644 index 0000000000000000000000000000000000000000..78db233f3ec4193b902d467c4a836a0a8a098759 --- /dev/null +++ b/src/main/java/edu/ntnu/idatt2003/controller/TopBarController.java @@ -0,0 +1,170 @@ +package edu.ntnu.idatt2003.controller; + +import edu.ntnu.idatt2003.exceptions.CouldNotWriteException; +import edu.ntnu.idatt2003.exceptions.EmptyListException; +import edu.ntnu.idatt2003.exceptions.InvalidSignException; +import edu.ntnu.idatt2003.exceptions.InvalidTypeException; +import edu.ntnu.idatt2003.exceptions.InvalidVectorRangeException; +import edu.ntnu.idatt2003.exceptions.IsNullException; +import edu.ntnu.idatt2003.exceptions.WrongFileFormatException; +import edu.ntnu.idatt2003.model.game.ChaosGame; +import edu.ntnu.idatt2003.model.game.ChaosGameDescription; +import edu.ntnu.idatt2003.model.game.ChaosGameDescriptionFactory; +import edu.ntnu.idatt2003.model.io.ChaosGameFileHandler; +import edu.ntnu.idatt2003.util.ExceptionLogger; +import edu.ntnu.idatt2003.view.components.TopBar; +import java.io.File; +import java.io.FileNotFoundException; + +/** + * The controller class for the top bar. + */ +public class TopBarController { + + private ChaosGame chaosGame; + private final TopBar topBar; + private ExceptionLogger exceptionLogger; + private MessageController messageController; + private EditController editController; + private CanvasController canvasController; + + /** + * Constructor for the TopBarController class. + */ + public TopBarController(TopBar topBar) { + this.topBar = topBar; + } + + /** + * Sets the chaos game to a new chaos game. + * + * @param chaosGame the chaos game to be set + */ + public void setChaosGame(ChaosGame chaosGame) { + this.chaosGame = chaosGame; + } + + /** + * Sets the exception logger to a new exception logger. + * + * @param exceptionLogger the exception logger to be set + */ + public void setLogger(ExceptionLogger exceptionLogger) { + this.exceptionLogger = exceptionLogger; + } + + /** + * Sets the message controller to a new message controller. + * + * @param messageController the message controller to be set + */ + public void setMessageController(MessageController messageController) { + this.messageController = messageController; + } + + /** + * Sets the edit controller to a new edit controller. + * + * @param editController the edit controller to be set + */ + public void setEditController(EditController editController) { + this.editController = editController; + } + + /** + * Sets the canvas controller to a new canvas controller. + * + * @param canvasController the canvas controller to be set + */ + public void setCanvasController(CanvasController canvasController) { + this.canvasController = canvasController; + } + + /** + * Gets the edit controller. + * + * @return the edit controller + */ + public EditController getEditController() { + return editController; + } + + /** + * Resets the chaos game with a new description. + * + * @param description the description to be set + */ + public void resetChaosGameWithDescription(String description) { + try { + ChaosGameDescription newDescription = ChaosGameDescriptionFactory.get(description); + chaosGame.resetGameWithDescription(newDescription); + messageController.showSuccessPopup(description + " loaded successfully"); + } catch (IsNullException | InvalidVectorRangeException | EmptyListException + | InvalidSignException | InvalidTypeException e) { + exceptionLogger.logSevere(e); + messageController.showErrorPopup(MainController.UNEXPECTED_EXCEPTION); + } + } + + /** + * Resets the chaos game. + */ + public void resetChaosGame() { + chaosGame.resetGame(); + } + + /** + * Reads a description from a file and resets the chaos game with the new description. + * + * @param file the file to read the description from + */ + public void resetChaosGameWithFile(File file) { + try { + ChaosGameFileHandler fileHandler = new ChaosGameFileHandler(); + ChaosGameDescription newDescription = fileHandler.readFromFile(file); + chaosGame.resetGameWithDescription(newDescription); + messageController.showSuccessPopup("File loaded successfully"); + } catch (IsNullException | InvalidVectorRangeException + | EmptyListException | InvalidSignException e) { + exceptionLogger.logSevere(e); + messageController.showErrorPopup(e.getMessage()); + } catch (FileNotFoundException e) { + exceptionLogger.logWarning(e); + messageController.showErrorPopup("File not found"); + } catch (WrongFileFormatException e) { + exceptionLogger.logWarning(e); + messageController.showErrorPopup(e.getMessage()); + } + } + + /** + * Writes the set description of the chaos game to a file. + * + * @param file the file to write to + */ + public void writeChaosGameToFile(File file) { + ChaosGameFileHandler fileHandler = new ChaosGameFileHandler(); + try { + fileHandler.writeToFile(chaosGame.getDescriptions(), file); + messageController.showSuccessPopup("File written successfully"); + } catch (CouldNotWriteException e) { + exceptionLogger.logSevere(e); + messageController.showErrorPopup(MainController.UNEXPECTED_EXCEPTION); + } + } + + /** + * Method for running the animation with a given number of iterations + * from the top bar. + */ + public void runAnimation() { + try { + int iterations = Integer.parseInt(topBar.getIterations()); + canvasController.animateIterations(iterations); + } catch (NumberFormatException e) { + exceptionLogger.logWarning(e); + messageController.showErrorPopup("Input must be a number"); + } + } +} + diff --git a/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGame.java b/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGame.java index 8b6663a1af543c414c27a9b4decfbb4fcc2303bf..f284c55c7b63b836d3b0f6b593da2425b0af4cb7 100644 --- a/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGame.java +++ b/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGame.java @@ -7,8 +7,6 @@ import edu.ntnu.idatt2003.exceptions.PixelOutOfBoundsException; import edu.ntnu.idatt2003.model.math.mathModel.Vector2D; import edu.ntnu.idatt2003.model.math.transformation.Transform2D; import edu.ntnu.idatt2003.util.InputValidation; -import java.util.Arrays; -import java.util.List; import java.util.Random; /** diff --git a/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGameDescription.java b/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGameDescription.java index fa61df37d42b8d7750c8b520d26bc01bdaebe758..ff1fa0b9c7d28b20588cee6dc15f1f14c4f58299 100644 --- a/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGameDescription.java +++ b/src/main/java/edu/ntnu/idatt2003/model/game/ChaosGameDescription.java @@ -68,21 +68,6 @@ public class ChaosGameDescription { return maxCoords; } - /** - * Validates if the minimum coordinates are less than the maximum coordinates. - * - * @param minCoords the minimum coordinates. - * @param maxCoords the maximum coordinates. - * - * @throws InvalidVectorRangeException if minCoords is greater than or equal to maxCoords - */ - private void validateCoordinates(Vector2D minCoords, Vector2D maxCoords) - throws InvalidVectorRangeException { - if (minCoords.getX0() >= maxCoords.getX0() || minCoords.getX1() >= maxCoords.getX1()) { - throw new InvalidVectorRangeException("minCoords must be less than maxCoords"); - } - } - /** * Compares this object to another object. * diff --git a/src/main/java/edu/ntnu/idatt2003/util/ExceptionLogger.java b/src/main/java/edu/ntnu/idatt2003/util/ExceptionLogger.java index ef198ec4b656468529b6bd0e1e6fed1978bd0289..9cb0073c743c3b972aa6e6c0b899b39bf9f45693 100644 --- a/src/main/java/edu/ntnu/idatt2003/util/ExceptionLogger.java +++ b/src/main/java/edu/ntnu/idatt2003/util/ExceptionLogger.java @@ -7,9 +7,17 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; +/** + * A class for logging exceptions. + */ public class ExceptionLogger { private final Logger logger; + /** + * Constructor for the ExceptionLogger class. + * + * @param loggerName the name of the logger. + */ public ExceptionLogger(String loggerName) { logger = Logger.getLogger(loggerName); try { @@ -22,10 +30,20 @@ public class ExceptionLogger { } } + /** + * Logs a warning, used for user input errors. + * + * @param e the exception to log. + */ public void logWarning(Exception e) { logger.log(Level.WARNING, e.getMessage(), e); } + /** + * Logs a severe exception, used for unexpected errors. + * + * @param e the exception to log. + */ public void logSevere(Exception e) { logger.log(Level.SEVERE, e.getMessage(), e); } diff --git a/src/main/java/edu/ntnu/idatt2003/util/InputValidation.java b/src/main/java/edu/ntnu/idatt2003/util/InputValidation.java index 433b20e02f5f41be056865f4d9efe158f81030ca..0cb707fe40133419e00210f6143c30f47af1ca2f 100644 --- a/src/main/java/edu/ntnu/idatt2003/util/InputValidation.java +++ b/src/main/java/edu/ntnu/idatt2003/util/InputValidation.java @@ -99,7 +99,8 @@ public class InputValidation { public static void validateVectorRange(Vector2D minCoords, Vector2D maxCoords) throws InvalidVectorRangeException { if (minCoords.getX0() >= maxCoords.getX0() || minCoords.getX1() >= maxCoords.getX1()) { - throw new InvalidVectorRangeException("Minimum coordinates must be less than maximum coordinates"); + throw new InvalidVectorRangeException( + "Minimum coordinates must be less than maximum coordinates"); } } } diff --git a/src/main/java/edu/ntnu/idatt2003/view/ChaosGameApp.java b/src/main/java/edu/ntnu/idatt2003/view/ChaosGameApp.java index 72cfed9e7df8c0382f0615428b3747054f3788f9..c6e1b4af59d06e8db63f8037c3849d083e25c4c4 100644 --- a/src/main/java/edu/ntnu/idatt2003/view/ChaosGameApp.java +++ b/src/main/java/edu/ntnu/idatt2003/view/ChaosGameApp.java @@ -1,9 +1,10 @@ package edu.ntnu.idatt2003.view; -import edu.ntnu.idatt2003.controller.ChaosGameController; +import edu.ntnu.idatt2003.controller.CanvasController; import edu.ntnu.idatt2003.controller.EditController; import edu.ntnu.idatt2003.controller.MainController; import edu.ntnu.idatt2003.controller.MessageController; +import edu.ntnu.idatt2003.controller.TopBarController; import edu.ntnu.idatt2003.view.components.TopBar; import edu.ntnu.idatt2003.view.components.ViewCanvas; import edu.ntnu.idatt2003.view.components.popups.EditPopup; @@ -27,8 +28,9 @@ public class ChaosGameApp extends Application { ErrorPopup errorPopup; SuccessPopup successPopup; EditPopup editPopup; - ChaosGameController chaosGameController; + TopBarController topBarController; EditController editController; + CanvasController canvasController; MessageController messageController; /** @@ -44,13 +46,14 @@ public class ChaosGameApp extends Application { editPopup = new EditPopup(); topBar = new TopBar(); - chaosGameController = new ChaosGameController(viewCanvas, topBar); + topBarController = new TopBarController(topBar); editController = new EditController(editPopup); + canvasController = new CanvasController(viewCanvas); messageController = new MessageController(successPopup, errorPopup); - new MainController(chaosGameController, editController, messageController); + new MainController(topBarController, editController, messageController, canvasController); editPopup.setPopupController(editController); - topBar.setChaosGameController(chaosGameController); + topBar.setChaosGameController(topBarController); canvasWrapper = new StackPane(); canvasWrapper.getChildren().add(viewCanvas.getCanvas()); @@ -92,6 +95,6 @@ public class ChaosGameApp extends Application { viewCanvas.getCanvas().setWidth(minSize - 20); viewCanvas.getCanvas().setHeight(minSize - 20); viewCanvas.reset(); - chaosGameController.rescaleCanvas(); + canvasController.rescaleCanvas(); } } \ No newline at end of file diff --git a/src/main/java/edu/ntnu/idatt2003/view/components/TopBar.java b/src/main/java/edu/ntnu/idatt2003/view/components/TopBar.java index aa876bf35427812b0420c45d298cea2dfda535f9..814095b8783194baddf4ca24b99a6218bb016dbd 100644 --- a/src/main/java/edu/ntnu/idatt2003/view/components/TopBar.java +++ b/src/main/java/edu/ntnu/idatt2003/view/components/TopBar.java @@ -1,6 +1,6 @@ package edu.ntnu.idatt2003.view.components; -import edu.ntnu.idatt2003.controller.ChaosGameController; +import edu.ntnu.idatt2003.controller.TopBarController; import edu.ntnu.idatt2003.view.components.buttons.PrimaryButton; import edu.ntnu.idatt2003.view.components.buttons.SecondaryButton; import edu.ntnu.idatt2003.view.components.input.InputBar; @@ -17,7 +17,7 @@ import javafx.stage.Window; * editing and running the chaos game. */ public class TopBar extends StackPane { - private ChaosGameController controller; + private TopBarController controller; private Window ownerWindow; private final InputBar iterationsField; @@ -75,7 +75,6 @@ public class TopBar extends StackPane { iterationsField = new InputBar(); iterationsField.setPromptText("Iterations"); - iterationsField.setText("100000"); Button runButton = new PrimaryButton("Run"); runButton.setOnAction(e -> { @@ -117,10 +116,10 @@ public class TopBar extends StackPane { /** * Sets the chaos game controller. * - * @param chaosGameController the chaos game controller to be set + * @param topBarController the chaos game controller to be set */ - public void setChaosGameController(ChaosGameController chaosGameController) { - this.controller = chaosGameController; + public void setChaosGameController(TopBarController topBarController) { + this.controller = topBarController; } /** diff --git a/src/main/java/edu/ntnu/idatt2003/view/components/buttons/CloseButton.java b/src/main/java/edu/ntnu/idatt2003/view/components/buttons/CloseButton.java index 780299586c4e3554babe217b394fa79fbb6aec07..4d8634c0c90a722b194c622f153beed55981812d 100644 --- a/src/main/java/edu/ntnu/idatt2003/view/components/buttons/CloseButton.java +++ b/src/main/java/edu/ntnu/idatt2003/view/components/buttons/CloseButton.java @@ -15,5 +15,5 @@ public class CloseButton extends Button { this.getStyleClass().add("close-button"); this.setMinSize(30, 30); this.setMaxSize(30, 30); - } + } } diff --git a/src/main/java/edu/ntnu/idatt2003/view/components/buttons/NextButton.java b/src/main/java/edu/ntnu/idatt2003/view/components/buttons/NextButton.java index 7842779d9d416ee9ee04e6827ad1fe299a0d6797..766991981242695225c31f9dba4a5c54a859fcdf 100644 --- a/src/main/java/edu/ntnu/idatt2003/view/components/buttons/NextButton.java +++ b/src/main/java/edu/ntnu/idatt2003/view/components/buttons/NextButton.java @@ -13,5 +13,5 @@ public class NextButton extends Button { public NextButton() { super(); this.getStyleClass().add("next-button"); - } + } } diff --git a/src/main/java/edu/ntnu/idatt2003/view/components/buttons/PrevButton.java b/src/main/java/edu/ntnu/idatt2003/view/components/buttons/PrevButton.java index 55f94f2e488d323b77bc6e070fc1ff30161a4608..109ba4894bf571c49bed3782299a99938a147873 100644 --- a/src/main/java/edu/ntnu/idatt2003/view/components/buttons/PrevButton.java +++ b/src/main/java/edu/ntnu/idatt2003/view/components/buttons/PrevButton.java @@ -13,5 +13,5 @@ public class PrevButton extends Button { public PrevButton() { super(); this.getStyleClass().add("prev-button"); - } + } }