我的作业有问题。我使一个按钮使用jlabel。对不起,我的英语不好,因为英语不是我的母语。我得到结果:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at app.menu.initComponents(menu.java:37)
at app.menu.<init>(menu.java:17)
at app.menu.lambda$main$0(menu.java:136)
at app.menu$$Lambda$13/22220042.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
我编写的代码:
package app;
import java.awt.Color;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
public class menu extends javax.swing.JFrame {
public menu() {
initComponents();
this.setBackground(new Color(0,0,0,0));
}
首先,当它仅带有此代码的jlabel时,它可以运行并且我的按钮退出成功。
private void btn_exitMouseClicked(java.awt.event.MouseEvent evt) {
this.dispose();
}
接下来,我使用此图像图标,但在线程“ AWT-EventQueue-0” java.lang.NullPointerException中得到异常。
private void btn_exitMouseEntered(java.awt.event.MouseEvent evt) {
ImageIcon A= new ImageIcon(getClass().getResource("images/btn_close.png"));
btn_exit.setIcon(A);
}
private void btn_exitMouseExited(java.awt.event.MouseEvent evt) {
ImageIcon B = new ImageIcon(getClass().getResource("images/btn_clos.png"));
btn_exit.setIcon(B);
}
private void btn_exitMousePressed(java.awt.event.MouseEvent evt) {
ImageIcon A = new ImageIcon(getClass().getResource("images/close.png"));
btn_exit.setIcon(A);
}
private void btn_exitMouseReleased(java.awt.event.MouseEvent evt) {
ImageIcon A = new ImageIcon(getClass().getResource("images/btn_clos.png"));
btn_exit.setIcon(A);
}