【问题标题】:How to add an icon to a JButton如何将图标添加到 JButton
【发布时间】:2013-01-05 20:13:30
【问题描述】:

我正在看这个教程:On how to create custom JButtons

我把我的文件放在 C Exception in thread "main" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(Unknown Source) at Gui.<init>(Gui.java:20) at tuna.main(tuna.java:6) 在对下一个教程的评论中,它说把它放在 C

附加信息:文件为 .png

金枪鱼:

    Gui item = new Gui();
    item.setSize(300,300);
    item.setLocation(200,100);
    item.setVisible(true);
    item.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

编辑:它现在正在工作,我不知道为什么它之前出错了,我没有改变任何东西。无论如何感谢您的帮助!

【问题讨论】:

  • 你需要展示一些代码,特别是对于类金枪鱼
  • 错误的文件路径永远不会给出 NullPointerException。最好显示一些你的代码
  • @nPwn 您显示的代码没用,向我们展示更多您的代码,您在其中创建 JButton 并设置其图标
  • 如需尽快获得更好的帮助,请发帖SSCCE

标签: java swing icons png jbutton


【解决方案1】:

只要从放置图像的位置加载图像,放置图像的位置并不重要。如果你正在使用

Icon yourIconName = new ImageIcon(getClass().getResource("yourIconName.png"));

那么它不仅需要在您的 src 文件夹中,而且还需要在与 tuna 相同的包中。

如果您使用的是像 "C/Users/MyUserName/workspace/projectName/imageFile.png" 这样的绝对路径,请确保您拥有指向要查找的图像的正确路径。

此外,您似乎正在使用 The New Boston 的教程,如果您发布您正在查看的教程可能会有所帮助。

【讨论】:

  • 对不起!看起来您使用的是第一个选项,因此请确保将图像保存在与 tuna 类相同的包中,并确保正确拼写“yourIconName.png”。
【解决方案2】:

您可以使用以下内容查看您的根目录是什么。

  File f = new File("");
  System.out.println(f.getAbsolutePath());

很可能您的程序正在查找与您想象的不同的目录。

【讨论】:

    猜你喜欢
    • 2011-06-15
    • 2017-07-23
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    相关资源
    最近更新 更多