当前位置: 首页 > 知识库问答 >
问题:

我不能在Java中向JButton添加图像

公孙宏畅
2023-03-14
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.Icon;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.FlowLayout;


public class Gui extends JFrame{


private JButton normal;
private JButton custom;

public Gui(){
    super("button program");
    setLayout(new FlowLayout());
    Icon b=new ImageIcon(getClass().getResource("C:\\temp\\image\\b.jpg"));

    custom=new JButton("custom",b);
    add(custom);
}
}

我得到了这个错误:

线程“main”java.lang.NullPointerException在GUI上的javax.swing.ImageIcon(未知源)。(Gui.java:22)在test.main(test.java:7)

共有1个答案

公西英叡
2023-03-14

不能使用getClass().getResource(...)加载“C:\test\image\b.jpg”之类的外部文件。

但是ImageIcon是一个很好的构造函数,它从路径加载图像。请使用类似以下内容:

Icon b = new ImageIcon("C:\\temp\\image\\b.jpg");
 类似资料:
  • 我有两个意图。主要活动:包含回收器视图,显示一些默认项以确保其工作。ArrayList被设置为Recycerer视图,它是包含这些默认项的列表。

  • 问题内容: 我正在使用JDeveloper在Java中设计一个表单。我是JDeveloper的新手。在JDeveloper工具中,我没有找到任何直接将图像添加到.Net之类的选项。而且我不知道如何手动添加图像以形成表单。还有其他解决方法。所以请帮我解决。 问题答案: 就这么简单: 耶!现在,您的图像是摆动组件!将其添加到框架或面板或通常执行的任何操作中!可能也需要重新粉刷,例如

  • 我正试图在android Studio中添加我的java项目。我得到了很多参考&在Android Studio中添加了我的项目。 现在我无法将资产添加到我的项目中。所以请帮我解决它 提前致谢 误差

  • 我是java swing的新手,现在我使用NetBeant使用NetBeans中内置的拖放设计器构建GUI。我现在面临的问题是,我有下面发布的代码,它是在Eclipse中编写的,正如您所看到的,我有一个扩展JPanel的类,我将从WEB_CAM捕获的图像添加到该JPanel中。现在,自从我切换到NetBeans,我使用设计器创建了JFrame、JPanel和JButtons,在我用NetBeans

  • 一段时间以来,我一直面临的问题是,每当我向JPanel添加JButton时,我使用的任何其他JButton都会朝着这个方向移动。 以下是第一个代码: 一切似乎都正常吗?如果我们添加第二个按钮: 然后按钮1向下移动到按钮2。有人知道为什么和/或修复它吗? 编辑:我想问的是,如何在不移动其他按钮的情况下添加另一个按钮。