我正在用4个browser
,一个JButtons
和JTextfield
创建一个简单的Web JEditorPane
。我想将访问过的每个URL
保存在称为ArrayList
的list
中。我的4个JButtons
之一被称为History
,如果用户按下此按钮,则我希望打印list
。
每次用户在Web浏览器中的JTextfield
中编写内容,写下URL
并按Enter时,都会调用此方法:
private void loadURL(String URL) {
try {
display.setPage(URL);
addressBar.setText(URL);
}catch(Exception e) {
System.out.println("Fel URL!");
}
//list.add(URL);
}
请注意,我已注释掉
//list.add(URL);
。如果我从此行中删除//
,则我的代码每次都会给出一条错误消息,内容为:Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
我不明白问题出在什么地方,我只是想记下我访问过的每个
URL
,我不明白为什么这一行会给我一条错误消息。 最佳答案
您必须在代码中的某个位置启动列表。喜欢:
private List<String> list = new ArrayList<>();
如果您忘记了它,则在尝试访问列表的方法时会得到一个NPE。
检查您的代码,看看是否正在执行。