@FXML private void close() { try { stage.close(); } catch (Exception e) { ExceptionController.display(e); } }
/** Checks if the name is inserted and changes the StringProperties of the JournalEntry object. */ @FXML private void ok() { try { String idString = id.getText(); if (idString == null || idString.isEmpty()) { BetonQuestEditor.showError("name-not-null"); return; } data.getId().set(idString.trim()); String entryText = text.getText(); if (entryText != null && !entryText.isEmpty()) { entry.set(entryText); } else { entry.set(new String()); } BetonQuestEditor.getInstance().refresh(); result = true; stage.close(); } catch (Exception e) { ExceptionController.display(e); } }
/** * Displays a window in which the user can edit a journal entry object. * * @param data the JournalEntry object to edit */ public static boolean display(JournalEntry data) { try { JournalEntryEditController controller = (JournalEntryEditController) BetonQuestEditor.createWindow( "view/window/JournalEntryEditWindow.fxml", "edit-entry", 500, 300); if (controller == null) { return false; } controller.stage = (Stage) controller.root.getScene().getWindow(); controller.data = data; controller.id.setText(data.getId().get()); controller.entry = data.getText().get(); controller.text.setText(controller.entry.get()); controller .root .getScene() .addEventFilter( KeyEvent.KEY_PRESSED, event -> { if (event.getCode() == KeyCode.ESCAPE) { controller.cancel(); event.consume(); return; } if (event.getCode() == KeyCode.ENTER) { controller.ok(); event.consume(); return; } }); controller.stage.showAndWait(); return controller.result; } catch (Exception e) { ExceptionController.display(e); return false; } }
/** * Displays the errors in a window. * * @param exception exception to display */ public static void display(String errors) { try { ErrorController controller = (ErrorController) BetonQuestEditor.createWindow( "view/window/ErrorWindow.fxml", "errors-found", 700, 500); controller.stage = (Stage) controller.root.getScene().getWindow(); controller.error.setText(errors); controller .root .getScene() .addEventFilter( KeyEvent.KEY_PRESSED, event -> { if (event.getCode() == KeyCode.ESCAPE || event.getCode() == KeyCode.ENTER) { controller.close(); } }); controller.stage.showAndWait(); } catch (Exception e) { ExceptionController.display(e); } }