Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中编译时加载图像_Java_Image_Swing_Loading_Compile Time - Fatal编程技术网

在Java中编译时加载图像

在Java中编译时加载图像,java,image,swing,loading,compile-time,Java,Image,Swing,Loading,Compile Time,我已经制作了一个程序,当程序运行时,它会将大约66个图像加载到程序中。我使用SwingWorker加载图像,这样我就可以快速访问图像,而不必在单击按钮时加载它们。但是,加载时间有点长(2分钟以上)。我想预加载图像,这样当用户运行程序时,图像就已经加载了。我在网上搜索过,但没有找到解决办法。有办法做到这一点吗?任何帮助都将不胜感激。 谢谢。将它们放在类路径中,并在运行时作为资源加载它们。你需要知道所有66个名字 要了解更多信息,请参阅Oracle官方教程。您只能在运行时加载它们,因此如果加载它们需

我已经制作了一个程序,当程序运行时,它会将大约66个图像加载到程序中。我使用SwingWorker加载图像,这样我就可以快速访问图像,而不必在单击按钮时加载它们。但是,加载时间有点长(2分钟以上)。我想预加载图像,这样当用户运行程序时,图像就已经加载了。我在网上搜索过,但没有找到解决办法。有办法做到这一点吗?任何帮助都将不胜感激。
谢谢。

将它们放在类路径中,并在运行时作为资源加载它们。你需要知道所有66个名字


要了解更多信息,请参阅Oracle官方教程。

您只能在运行时加载它们,因此如果加载它们需要2分钟,那么加载它们将始终需要2分钟

这只是两分钟从什么时候开始的问题(无论是按下按钮的时候,还是从开始加载它们的较早时间点)

如果图像加载需要这么长时间,那么可能值得考虑为什么它们需要这么长时间。例如:

  • 您可以通过加载较小的图像来缩短加载时间,至少在第一次加载时是这样
  • 如果您是从远程源下载图像,请将其存储在本地(不过,我想这一点太明显了,无法说明)

@AndyTurner我建议你对你的评论做出回答,这样就可以接受结束这个问题了。@BasilBourque完成了。我该怎么做。目前,我正在从项目文件夹中的文件夹访问我的文件。将我的图像移动到“资源”文件夹会加快进程吗?您需要先了解资源是如何工作的。图像加载程序运行时,使用进度条显示加载状态。因为它们是大图像,所以加载需要时间。我无法加载较小的图像,因为我需要在之后放大这些大图像。对于第二个建议,它们已经存储locally@MuhammadUmer“因为我以后需要放大这些大图像”您需要同时放大66幅图像吗?如果你这么做,我会感到惊讶;以低分辨率加载所有图像,然后仅当您要放大特定图像时才加载高分辨率图像。首先加载高分辨率图像的全部意义在于,如果我在单击按钮时加载高分辨率图像,程序会延迟一秒钟,然后显示图像。我需要在单击按钮之前加载高分辨率图像,而不是先加载低分辨率图像,然后再加载高分辨率图像。我希望你understand@MuhammadUmer延迟1秒更糟糕,还是延迟120秒更糟糕?我的朋友,这不是什么更糟糕,而是客户想要什么