Графический контекст javafx не будет отображать изображение - PullRequest
1 голос
/ 06 февраля 2020

У меня есть файл 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...