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