您好我正在创建一个程序,运行时遇到错误。它说:
Exception in thread "main" java.lang.NullPointerException at java.awt.Container.addImpl(Container.java:1045) at java.awt.Container.add(Container.java:365) at javax.swing.JPopupMenu.add(JPopupMenu.java:264) at javax.swing.JMenu.add(JMenu.java:562) at truthtable.GUI.getCreatedMenuBar(GUI.java:587) at truthtable.GUI.<init>(GUI.java:208) at truthtable.Application.<init>(Application.java:10) at truthtable.Application.main(Application.java:18) Java Result: 1
我的类Application.java:
package truthtable;
public class Application {
public Application() {
new GUI(null);
}
public static void main(final String[] args) {
new Application();
}
}
这是什么意思?当我尝试编辑该错误中的代码时,它只是readonly。
这是我的gui构造函数的代码:
public GUI(final ApplicationStarter appStarter) {
super();
this.applicationStarter = appStarter;
outputMode = TruthValue.TRUE_FALSE;
computationMethod = COMPLETE_METHOD;
hasFullPermission = getHasFullPermission();
smallTableLimit = 256;
maxStatementLength = 256;
maxRowsInTextTable = 1024;
int arraySize=3;
buttonStates = new boolean[4];
final GridBagConstraints gbc = new GridBagConstraints();
defaultCursor = new Cursor(Cursor.DEFAULT_CURSOR);
waitCursor = new Cursor(Cursor.WAIT_CURSOR);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addComponentListener(new ComponentAdapter() {
public void componentResized(final ComponentEvent e) {
int width = getWidth(),
height = getHeight();
final int minHeight=50;
final int minWidth=20;
if (width < minWidth)
width = minWidth;
if (height < minHeight)
height = minHeight;
setSize(width, height);
}
答案 0 :(得分:1)
GUI构造函数的问题是您没有显示代码。看起来传递null将是一个问题。是否期望非空值?如果是,请弄清楚如何提供一个。
答案 1 :(得分:1)
我相信你正在运行错误的程序。你需要一个GUI构造函数来实现它。