我有MenuButton
,它擴展了AbstractButton
。當我在類中做setEnabled(true)
時,沒有編譯器錯誤,但運行時錯誤爲NullPointerException
。 (請注意,當擴展JButton時,完全相同的代碼工作正常)。相關部分如下。NullPointerException爲AbstractButton.setEnabled(true)
public class MenuItem extends AbstractButton{
private String type = "";
private String text = "";
private int level;
public MenuItem(String place, String name, int height) {
type = place;
text = name;
level = height;
setEnabled(true); //This is where the error occurs.
}
}
和錯誤:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.AbstractButton.setEnabled(Unknown Source)
at states.MenuItem.<init>(MenuItem.java:54)
at states.MainMenu.<init>(MainMenu.java:26)
at main.TheDarkSeaIslesPlatformer.main(TheDarkSeaIslesPlatformer.java:80)
這不是重複的,因爲它已經被正確初始化。它在擴展JButton時也有效,所以它是AbstractButton的問題。
@StefanBeike https://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#setEnabled(boolean) –