我正試圖加載一些圖像使用Java,但它似乎是非常緩慢,它約13圖像我試圖讓每個9KB大小。加載圖像是非常緩慢的java
是我的代碼還是它是java導致的問題。我可以使用瀏覽器更快地加載所有圖像。
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class ImageSample {
static public void main(String args[]) throws Exception {
JFrame frame = new JFrame("Display image");
//Image url here
String url="";
JPanel panel = new testImage();
frame.add(panel);
frame.setSize(500, 500);
frame.setVisible(true);
frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH);
}
}
class testImage extends JPanel {
static Image image;
public void testImage(String url)
{
image = Resources.getImage(url);
}
public void paintComponent(Graphics g) {
g.drawImage(image, 0, 0, 40, 40, null);
}
}
class Resources
{
private static Resources myResource = new Resources();
// NOTE: there is no error checking here so if parameter is mistyped
// somewhere else in code, then this will probably throw a nullpointerexception
public static Image getImage(String name)
{
// TODO: Find out which way is better or preferred
URL url=null;
try {
url = new URL(name);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Toolkit.getDefaultToolkit().getImage(url);
}
}
感謝, Sreejith
你還可以加載一些示例代碼嗎? – adarshr 2011-03-11 10:43:08
您能否提供更多信息(例如代碼的關鍵部分)? – MAK 2011-03-11 10:43:11
根據定義,它的代碼*由於效率不高而導致問題。唯一真正的問題是Java是否允許編寫高效的代碼。無論如何,你應該解釋你正在使用什麼類和方法,因爲沒有這個問題是無法回答的。 – 2011-03-11 10:43:50