2016-11-16 55 views
-2
public model() 
{ 
    setTitle("Model"); 
    p1 = new JPanel(); 

    ImageIcon ig = new ImageIcon("C:\\Desktop\\ELON.gif"); 
    JLabel l1 = new JLabel("Tesla", ig, SwingConstants.RIGHT); 

    p1.add(l1); 
    add(p1); 
    setVisible(true); 
} 

代码正在编译,但没有显示图像。 图像保存在我的桌面上。图片来自桌面不显示(Java)

请帮助:(

+1

右键单击您需要的文件并选择属性。点击标有“详细信息”的标签,在那里您可以看到您需要的路径。因为“桌面”不是直接在“C:”分区上。它在你的用户文件夹中。参考@MordechayS的答案。 – QBrute

回答

1

尝试:

ImageIcon ig = new ImageIcon("c://users//**username**\\ELON.gif"); 

而且下一次 - 调试:)

+0

嗨Mordechay S, – Max

+0

它仍然无法正常工作。 – Max

+0

公众形象() { setTitle(“Tesla Motors Inc”); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel = new JPanel(); ImageIcon ig = new ImageIcon(“c:// users // KITS SG \\ elon.jpeg”); label = new JLabel(“Tesla”,ig,SwingConstants.RIGHT); panel.add(label); add(panel); pack(); setVisible(true); } – Max

0

文件路径肯定是错误的(如MordechayS已经提到)。

传递文件(或更一般:资源)路径作为字符串易于出错ImageIcon,正如你已经注意到的那样,不是当没有这样的文件时它会抛出异常(它什么也不显示)。

您可以通过传递图标资源File或(File不直接支持ImageIcon)来改进代码:URLURL的优点是可以指向文件,网页资源,JAR文件等内的资源。

File resource = new File("C:\\Users\\myself\\Desktop\\ELON.gif"); 
// now you can verify the resurce using File.exists(), File.canRead() and File.isFile() 

// convert to file URL 
URL url = resource.toURI().toURL(); 
ImageIcon ig = new ImageIcon(url); 
+0

嗨彼得, 感谢您的回答。 – Max

+0

但是,我收到一个错误:“无法找到符号 - 方法toURL()”,并且java.io.File中的“toURL()已被弃用 如何解决此问题? 注意:已经导入java.io.File和java.net。*; – Max