/** @throws IOException error */ public final void loadImage() throws IOException { BufferedImage img; try { Stage stage = (Stage) Main.getWindow(); FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open Image File"); FileChooser.ExtensionFilter extFilterJPG = new FileChooser.ExtensionFilter("JPG files (*.jpg)", "*.JPG"); FileChooser.ExtensionFilter extFilterPNG = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.PNG"); fileChooser.getExtensionFilters().addAll(extFilterJPG, extFilterPNG); File f = fileChooser.showOpenDialog(stage); if (f != null) { logger.info(f.getName()); img = ImageIO.read(f); contactImage = new ContactImage(img); if ((contactImage.getHeight() >= 300 || contactImage.getHeight() <= 1000) && (contactImage.getWidth() >= 300 || contactImage.getWidth() <= 1000)) { contactImage.set(img); Image temp = SwingFXUtils.toFXImage(img, null); image.setImage(temp); } else { throw new ImageNotValidException("Foto ist zu groß!"); } } } catch (Exception e) { logger.log(Level.SEVERE, "Error: " + e.getMessage()); } }
/** Back to main menu. */ public final void onBtnBackClick() { try { Parent root = FXMLLoader.load(getClass().getResource("/view/Main.fxml")); Scene scene = new Scene(root); Main.getWindow().setScene(scene); } catch (IOException e) { logger.log(Level.SEVERE, "Couldn't change scene as expected: " + e.getMessage()); } }