У меня есть файл rhino.gif в той же директории, что и эта программа.
Он прекрасно компилируется, но изображение не отображается на экране. Обратите внимание, что изображение знает его размеры (300X300).
Чего мне не хватает?
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.scene.Scene;
import javafx.application.Platform;
import javafx.scene.layout.BorderPane;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ImageShower extends Application
{
@Override
public void init()
{
//runs before GUI starts
}
@Override
public void start(Stage primary)
{
BorderPane root = new BorderPane();
Canvas c = new Canvas(500,500);
GraphicsContext pen = c.getGraphicsContext2D();
Image im = null;
ImageView iv = new ImageView();
//im = new Image(new FileInputStream(new File("rhino.gif")));
im = new Image("file:/Users/morrison/teaching/java/rhino.gif");
System.out.println(im);
pen.drawImage(im, 100, 100, 300, 300);
System.out.println(im.getWidth());
System.out.println(im.getHeight());
primary.setScene(new Scene(root));
primary.show();
}
@Override
public void stop()
{
//run after GUI ends.
//prevent data loss.
//clean up any messes.
System.out.println("Gahhhhh ! My last gasp prior to death!");
}
public static void main(String[] args)
{
launch(args);
}
}