为什么程序没有进入loadImage()方法?

时间:2016-08-29 23:27:34

标签: java javax.imageio

这个小程序的目标是加载.jpg图像并将其显示在由JPanel扩展的Canvas类中,该类显示在Main类的JFrame对象中,如下所示:

Main-class

string

我的主要问题已在标题中提出。首先,我将代码与Java Documentation Tutorial进行了比较,并将Parent类从Canvas.java更改为Component,但影响不大。看这里参考:

Link to source

然后我在谷歌找到了这个:

Displaying an image in Swing (on StackOverflow)

因为我的JFrame(或者那个组件)确实执行了从(0 | 0)到(250 | 250)的drawLine()函数,这不是问题,但我确实尝试了paintcomponent()和paintComponents (),第一个画线而不是图像,看起来相当慢,后者根本没画线,所以我再次切换回paint()方法。

在我的小研究之前,我自己尝试了不同的东西。我从Tutorial-Version中稍微改变了Loader类。

完整教程可在此处找到:Link

1 个答案:

答案 0 :(得分:0)

我同意John3136,但直接回答:

如果你没有看到“已加载!”,那么它表明try中的另外两行之一正在抛出异常。如果没有异常信息,则难以进行故障排除。

将e.printStackTrace()放入catch块中,如果您仍然遇到困难,请将结果发布到此处。

虽然该文件可能与您的源位于同一目录中,但它必须与您的可执行文件位于同一目录中才能找到它。检查f.getAbsolutePath()的值,看看它是否是您所期望的。