JavaFX中Sprite类构造函数加载图片不显示问题求助
问题解决:JavaFX Sprite类图片不显示
核心问题
你在Sprite类的构造函数中错误地将传入的图片路径与固定URL进行了拼接,导致生成的图片地址完全无效。当你传入完整的图片URL时,拼接后的结果是两个URL连在一起,这样的地址无法加载到任何图片。
修正后的Sprite类代码
import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.Group; public class Sprite extends Group { public Sprite(String file) { // 直接使用传入的file参数作为图片地址,无需额外拼接 Image img = new Image(file, 0, 80, true, false); ImageView character = new ImageView(img); // 可直接在构造函数传入Image,简化代码 this.getChildren().add(character); } }
额外调试建议(可选)
如果之后再遇到图片加载问题,可以添加图片加载状态监听,确认是否加载成功:
img.errorProperty().addListener((obs, oldVal, newVal) -> { if (newVal) { System.out.println("图片加载失败,地址:" + file); } else { System.out.println("图片加载成功"); } });
内容的提问来源于stack exchange,提问作者user23019518
相关产品推荐
相关产品推荐

