showImage.java
import java.awt.image.*; import java.awt.event.*; import java.io.*; import javax.imageio.*; import javafx.scene.image.Image; import javafx.scene.image.WritableImage; import javafx.scene.image.ImageView; import javafx.embed.swing.SwingFXUtils; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; public class showImage { BufferedImage img; ImageView view; String title = null; public showImage(String filename) { // get BufferedImage readImage(filename); title = filename; // get JavaFX image Image image = null; /* java.net.URL imgURL = getClass().getResource(filename); if (imgURL!=null) { System.out.println("url: " + imgURL); image = new Image(imgURL.toString()); readImage(imgURL.toString()); } */ try { FileInputStream stream = new FileInputStream(filename); image = new Image(stream); } catch(Exception e) { System.out.println(e); System.exit(-1); } // simple displays ImageView the image as is view = new ImageView(); view.setImage(image); } public showImage(BufferedImage img, String title) { this.img = img; this.title = title; WritableImage image = SwingFXUtils.toFXImage(img,null); view = new ImageView(); view.setImage(image); } public void setTitle(String str) { title = str; } public void setStage(Stage stage) { Group root = new Group(); Scene scene = new Scene(root); root.getChildren().add(view); if (title!=null) stage.setTitle(title); stage.setScene(scene); stage.sizeToScene(); stage.show(); } public void readImage(String filename) { File f = null; try { f = new File(filename); img = ImageIO.read(f); } catch (IOException e) { //System.out.println(e); // e.getMessage()); if (f!=null) System.out.println("Path: " + f.getAbsolutePath()); System.out.println(filename + " not found"); System.exit(-1); } } public void writeImage(String filename) { writeImage(filename,"jpg"); } public void writeImage(String filename, String format) { File file = new File(filename + "." + format); try { ImageIO.write(img, format, file); } catch (IOException e) { System.out.println("image write failed"); System.out.println(e); System.exit(-1); } } }
Maintained by John Loomis, updated Sun Mar 25 13:35:31 2018