我为侧面项目编写了一个浏览器,目前我有这个代码:
ReadHTML是我的构造函数,加载网页是我用来加载网页的方法,应该发生什么,当用户按下时,它应该触发动作监听器,然后检查堆栈是否有一些内容,但是,我测试了这个并发现代码将到达动作监听器并且堆栈测试将失败,导致我相信我的程序没有将内容存储到堆栈中,如果有人能指出我要去的地方,我将不胜感激错误,或更好的方式,我会非常感激。
如果您没有足够的代码,或者需要我添加更多信息,我可以快速编辑和发布,提前感谢!
Stack<String> backStack = new Stack<String>();
Stack<String> forwardStack = new Stack<String>();
boolean stackTest = false;
private void loadWebPage(String userInput) {
if (stackTest = true) {
forwardStack.push(urlBox.getText());
stackTest = false;
} else {
backStack.push(urlBox.getText());
}
try {
webWindow.setPage(userInput);
urlBox.setText(userInput);
} catch (Exception e) {
try {
File file = new File(userInput);
webWindow.setPage(file.toURI().toURL());
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public ReadHTML() {
forward.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent forwardPress) {
if (!forwardStack.empty()) {
loadWebPage(forwardStack.pop());
}
}
});
back.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent backPress) {
if (!backStack.empty()) {
stackTest = true;
loadWebPage(backStack.pop());
}
}
});
}
答案 0 :(得分:2)
看起来像是
if (stackTest = true) {
应该是
if (stackTest == true) {