【问题标题】:Java Icon not workingJava 图标不起作用
【发布时间】:2016-09-26 02:45:59
【问题描述】:

所以我有这个代码

import javax.swing.*;


public class pictest {

public static void main(String[] args) {
    JFrame frame = new JFrame("Label Example");
    ImageIcon mine = new ImageIcon("‪C:/Users/Eric/Desktop/mine.jpg");
    JLabel pic = new JLabel(mine);
    frame.add(pic);
    frame.setSize(300,250);
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.setVisible(true);

    JFrame framee = new JFrame("Label Example");
    ImageIcon minee = new ImageIcon("C:/Users/Eric/Desktop/mine.jpg");
    JLabel pice = new JLabel(minee);
    framee.add(pice);
    framee.setSize(300,250);
    framee.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    framee.setVisible(true);

 }

}

所以当我运行代码时,我得到了这个:

http://imgur.com/a/YF9zt

(左图为上图,右图为下图)

据我所知,代码完全相同(变量名除外),我不知道为什么图片不会显示在左侧,这是我需要重新安装的问题吗东西,或者代码中有什么东西我只是弄错了。 (如果有人可以重新格式化这篇文章以使其看起来正确,我将不胜感激,对不起,我不经常使用堆栈溢出,但我很沮丧。)

【问题讨论】:

  • if someone could reformat this post - 您只需编辑您的问题并选择代码,然后点击“{}”按钮即可。
  • event dispatch thread构造和操作Swing GUI对象;在你解决这个问题之前,任何事情都有可能发生。
  • 它对我来说很好用。 Mac OS X、Java 7。看看如果你最小化左侧窗口并恢复它会发生什么。图片会加载吗?
  • 使用双斜杠分隔路径,而不是C:/Users/Eric/Desktop/mine.jpg 使用C://Users//Eric//Desktop//mine.jpg

标签: java swing file-io imageicon


【解决方案1】:

当我尝试保存您的代码时,我收到以下错误:

仅当我复制时,图像才会显示在顶部框架
ImageIcon minee = new ImageIcon("C:/Users/Eric/Desktop/mine.jpg");

粘贴并编辑到

ImageIcon mine = new ImageIcon("C:/Users/Eric/Desktop/mine.jpg");

我猜您在该行中使用了一些无法识别的字符。

【讨论】:

  • 我认为这是造成这种情况的原因,但我不确定,我最初从图像的属性页面复制了路径,其中一定包含无法识别的文本。在输入路径后,虽然它有效。我试图弄清楚哪个角色搞砸了,但肯定不止一个,因为我无法将其缩小到一个角色。无论如何谢谢你
猜你喜欢
  • 1970-01-01
  • 2016-02-24
  • 1970-01-01
  • 2014-12-23
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 2011-02-02
  • 1970-01-01
相关资源
最近更新 更多