【问题标题】:An error list when putting icons to buttons (netbeans)将图标放入按钮时出现错误列表(netbeans)
【发布时间】:2013-11-07 21:51:05
【问题描述】:

当我尝试将图标添加到 Netbeans JFrame 中的按钮时,出现大量错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at furnituremanagementsystem.menu.initComponents(menu.java:86)
at furnituremanagementsystem.menu.<init>(menu.java:17)
at furnituremanagementsystem.menu$12.run(menu.java:273)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

问题是它总是在我第二次尝试添加图标时发生。你们能解释一下这个错误是什么意思吗? 谢谢你。 PS按钮代码:

jButton5 = new javax.swing.JButton();

jButton5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jButton5.setForeground(new java.awt.Color(255, 0, 0));

jButton5.setIcon(new       javax.swing.ImageIcon(getClass().getResource("/furnituremanagementsystem/user-group-icon9878.png"))); // NOI18N

jButton5.setText("Customer");

jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton5ActionPerformed(evt);
}

});

 jPanel1.add(jButton5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 170, 230, -1));

【问题讨论】:

  • 我实际上根本没有使用代码。它是通过 netbeans 自动生成的。

标签: java netbeans icons


【解决方案1】:

如果您查看错误的第一行,它会显示NullPointerException。这通常意味着您试图在空指针上调用方法。错误的其余部分是错误发生时刻的堆栈跟踪。这里看起来它发生在 ImageIcon 的第 205 行,它是 ImageIcon 的构造函数,看起来像这样:

public ImageIcon (URL location) {
    this(location, location.toExternalForm()); // line 205
}

据我所知,您可能在 furnituremanagementsystem.menu.initComponents() 方法中将一个空 URL 对象传递给此构造函数。当此行尝试通过调用 toExternalForm() 来使用它时,会引发空指针异常。

假设第 86 行是您正在构造 ImageIcon 对象的行,看起来getResource() 没有找到给定名称的任何内容,导致它返回 null。您应该尝试确定对 getResource() 的调用是否返回 null 或 URL 对象。如果它返回 null,请找出它找不到该资源的原因。

仅供参考:实际上只有 1 个错误。它看起来很多,因为你会得到一个堆栈跟踪。

【讨论】:

  • 但我根本没有进行任何类型的编码。我只是使用 netbeans 中的选项为我做这件事。起初它奏效了。但是第二个图标按钮会带来这些错误。
  • netbeans 为您生成它并不意味着它是 100% 正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 2021-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
相关资源
最近更新 更多