首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFx的问题:图像没有显示

JavaFx的问题:图像没有显示
EN

Stack Overflow用户
提问于 2022-05-24 08:13:37
回答 1查看 49关注 0票数 2

我在代码中插入了一个图像对象。程序编译并运行,但图像不显示。

这是我的密码

代码语言:javascript
复制
package JavaFX;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

import java.io.File;

public class ShowImage extends Application {
    public void start(Stage primaryStage){
        Pane pane = new HBox(10);
        pane.setPadding(new Insets(5,5,5,5));
        Image image = new Image(new File("image/v2-7c37a26d9dd77abf6de2ca9ca3fc7ae0_720w.jpg").toURI().toString());//remember this must be an url address,
        // file should be converted to url

        pane.getChildren().add(new ImageView(image));

        ImageView imageView2 = new ImageView(image);
        imageView2.setFitHeight(100);
        imageView2.setFitWidth(100);
        pane.getChildren().add(imageView2);

        ImageView imageView3 = new ImageView(image);
        imageView3.setRotate(90);
        pane.getChildren().add(imageView3);

        Scene scene = new Scene(pane);
        primaryStage.setTitle("ShowImage");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

编译器不会显示任何错误或警告。

EN

回答 1

Stack Overflow用户

发布于 2022-05-24 08:56:58

您的代码一般都能工作,所以这个问题很可能是图像的问题。

你应该检查errorPropertyexceptionProperty,例如.

代码语言:javascript
复制
if (image.errorProperty().getValue()) {
    image.exceptionProperty().getValue().printStackTrace();
}

可运行的例子。

代码语言:javascript
复制
import java.io.File;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class App extends Application {

    @Override
    public void start(Stage stage) {
        Pane pane = new HBox(10);
        pane.setPadding(new Insets(5, 5, 5, 5));

        Image image = new Image(new File("image/v2-7c37a26d9dd77abf6de2ca9ca3fc7ae0_720w.jpg").toURI().toString());//remember this must be an url address,
        if (image.errorProperty().getValue()) {
            image.exceptionProperty().getValue().printStackTrace();
        }

        pane.getChildren().add(new ImageView(image));

        ImageView imageView2 = new ImageView(image);
        imageView2.setFitHeight(100);
        imageView2.setFitWidth(100);
        pane.getChildren().add(imageView2);

        ImageView imageView3 = new ImageView(image);
        imageView3.setRotate(90);
        pane.getChildren().add(imageView3);

        Scene scene = new Scene(pane);
        stage.setScene(scene);
        stage.sizeToScene();
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72359401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档