gpt4 book ai didi

Java ImageIcon.GetImage 挂

转载 作者:行者123 更新时间:2023-12-01 06:55:53 25 4
gpt4 key购买 nike

我在使用 ImageIcon().GetImage() 时遇到问题

奇怪的是,它有时可以工作并向我显示带有 map 的窗口,而有时却不能。它也可以在其他计算机上完美运行,但不能在我的计算机上运行!

我已经尝试了一切,重新安装 Java,重新安装 IntelliJ,还禁用了我的防火墙,但没有效果。我还用 C# 编写了一个类似的程序,它运行得很好,这让我相信这不是权限错误。我还在带有板载显卡的基本 Windows XP 系统上对其进行了测试,该系统也可以完美运行。

这是我的代码:

public class main {

public static void main(String[] args) {
System.out.println("Running main..");
try
{
URL url = new URL("http://maps.googleapis.com/maps/api/staticmap?center=-33.80382155278416,18.567184266922002&zoom=17&size=1024x1024&maptype=hybrid&sensor=false&format=png&key=AIzaSyCVnp9iTXRSS3ZE5FjzF7uNZavazWhLko4");
Image img=new ImageIcon(url).getImage();
System.out.println("INFO :"+img);
new ImageFrame(img);

}
catch (Exception e)
{
e.printStackTrace();
}
}

public static class ImageFrame extends JFrame{

public ImageFrame(Image img){

setPreferredSize(new Dimension(540, 480));
setaImg(img);
ImagePanel somePanel = new ImagePanel(540, 480);
add(somePanel);
setVisible(true);
}

private Image aImg;

public Image getaImg() {
return aImg;
}

public void setaImg(Image aImg) {
this.aImg = aImg;
}

public class ImagePanel extends JPanel{

public ImagePanel(int width, int height){
setPreferredSize(new Dimension(width, height));
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(getaImg(), 0, 0, null); // see javadoc for more info on the parameters
}
}



}

}

我已经通过调试器运行了它,它停在这一行:

Image img=new ImageIcon(url).getImage();

但是如果没有错误,它就会永远挂起。

我完全困惑为什么它不能在我的系统上运行,而且只能在我的系统上运行。任何帮助将不胜感激。

最佳答案

对我来说效果很好

enter image description here

Google 没有阻止您,不是吗?根据内存,您每天大约有 10,000 个查询之类的。

尝试使用 InputStream (URL.openStream()) 手动下载 URL,并查看是否收到除图像二进制文件之外的某种响应。

已更新

经过调查,发现 Java 7 和 IPv6 存在问题,如此处所述 Downloading files using Java randomly freezes

关于Java ImageIcon.GetImage 挂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12169353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com