堆栈问题,不存储值

时间:2015-03-26 01:07:58

标签: java swing io stack actionlistener

我为侧面项目编写了一个浏览器,目前我有这个代码:

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());
            }
        }
    });
}

1 个答案:

答案 0 :(得分:2)

看起来像是

 if (stackTest = true) {

应该是

 if (stackTest == true) {